二进制
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

scimoon 有一个坏掉的计算器,这个计算器仅接受 的数

这个计算器只支持一种操作,举个例子,输入一个数 x,这个数会按顺序进行 n 次操作,在第 i 次操作中,有一个操作符 op_i 和一个数 a_i

如果 表示这次操作是将数 x 与 a_i与运算

如果 表示这次操作是将数 x 与 a_i或运算

如果 表示这次操作是将数 x 与 a_i异或运算

操作过后 x 将会变为运算的结果

scimoon 觉得这个计算器非常地慢,于是他想对这 n 个运算做一些简化,这个艰巨的任务交给了你

具体而言,你的任务是:用不超过 5 次上面的操作,使得对于任何 ,你的操作的输出与计算器的输出一致

可以证明必然存在解

可能存在多组解,你只需要输出一组可能的解即可

输入描述:

第一行一个整数 n,表示计算器的操作次数

接下来 n 行,每行两个整数 op 与 a ,按顺序描述了每次操作

输出描述:

第一行一个 m,表示你的操作次数

你必须保证你输出的

接下来 m 行每行仿照输入中 的格式输出每次操作
示例1

输入

复制
1
1 14514

输出

复制
1
1 14514

备注: