题目描述

输入相应操作,模拟实现一个跳跃式浏览器程序,支持以下操作:

输入1,表示打开新网址,跳转浏览该网页,并将该网页编号(从1开始递增)加入历史记录中。当达到最大容量时,自动删除最早的记录。

输入2以及k1,表示点击前进按钮,跳转浏览并输出下面第k1个网页编号(不用重复加入历史记录)。如果没有下k1个网页,则通过输出"Error: no forward history",表示禁用该按钮,此时浏览器页面不进行跳转。

输入3以及k2,表示点击后退按钮,返回浏览并输出上面第k2个网页编号(不用重复加入历史记录)。如果没有上k2个网页,则通过输出"Error: no back history",表示禁用该按钮,此时浏览器页面不进行跳转。

输入4,表示点击退出按钮,清空历史记录。

输入描述 第一行一个整数d, 表示历史记录的容量;

接下来若干行每行输入一个操作符以及参数,操作符与参数之间以空格分隔;

输入以0结束。

输出描述 对于每一个操作2,输出网页编号或"Error: no forward history";

对于每一个操作3,输出网页编号或"Error: no back history";

每个操作输出之间以换行隔开。

样例1 输入

100000
1
1
1
1
1
1
3 2 
3 1
4
2 2
1 
1
1 
3 3
2 1
3 2
0

输出

4
3
Error: no forward history
Error: no back history
Error: no forward history
7

样例2

输入

100000
3 2 
1
1
1
3 2
2 1
4
1
1 
3 1
2 1
3 2
0

输出

Error: no back history
1
2
4
5
Error: no back history

提示 20%的数据 k1 = k2 = 1;

100%的数据 1<k1k2<=1051 < k1,k2 <= 10 ^ 5, 历史记录最大容量 d<=105d <=10^5,操作次数 <= 10610^6