题号:NC221661
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛妹想吃大煎饼,热心的牛牛肯定要尽力满足她。
牛牛的煎锅一共有n个位置,每个位置可以叠下无限块煎饼。最开始每个位置都是空的。牛牛的煎饼有m种类型,牛牛煎饼时会执行s个操作。一共输入s+1行。
牛牛煎饼时有一下几种操作:
"1 x k"表示在第x个位置的最上面放置一块类型编号为k的煎饼。
"2 x y表示将y号位置上的所有煎饼都叠到x位置的顶上。
"3 x"表示将x号位置上的所有煎饼翻面。(也就是将最下面的煎饼换到最上面,倒数第二下面的煎饼换到第二上面,以此类推。)
"4 x"表示牛牛会偷吃掉x号位置最上面的一个煎饼。
牛牛想知道对于每次自己偷吃的,也就是第四种操作吃掉的煎饼的类型编号是多少。如果那个位置没有煎饼,则输出"-1",不含引号。
输入描述:
一共输入s+1行。
第一行输入三个整数n,m,s,表示煎锅一共有n个位置,煎饼有m种类型,牛牛一共执行s次操作。
第二行到第s+1行每行2-3个整数,具体操作见题目描述。
输出描述:
对于每次4号操作,输出一个整数,表示牛牛偷吃的煎饼类型。中间用换行隔开。
示例1
输入
复制
5 8 8
1 1 1
1 1 2
1 3 3
1 3 4
3 3
2 1 3
4 2
4 1
备注:


