#NK202503B. 01Trie?

01Trie?

题目描述

Yuki 给了你三个非负整数 aabbcc。你可以执行以下操作,最多进行 k=64k = 64 次:

  1. aa2a \leftarrow a \cdot 2;
  2. bb2b \leftarrow \lfloor \frac{b}{2} \rfloor;
  3. aaba \leftarrow a \oplus b,其中 \oplus 指按位异或;
  4. bbab \leftarrow b \oplus a

请在不超过 kk 次操作的情况下使 a=b=ca = b = c,或报告没有合法方案。可以证明,在题目的约束条件下,若存在合法方案,一定存在不超过 k=64k = 64 次的合法方案。

输入格式

本题单个测试点内有多组数据。第一行仅包含一个整数 tt (1t104)(1 \leq t \leq 10^4),表示测试数据组数。每组测试数据的格式如下。

输入的第一行,也是唯一一行,包含三个整数 aabbcc (0a,b,c<231)(0 \leq a, b, c < 2^{31})

输出格式

对于每组数据:

  • 如果你认为无解,仅需输出一行一个整数 1-1;
  • 否则,请输出两行。第一行包含一个整数 pp (0pk)(0 \leq p \leq k),描述你进行的操作次数;第二行包含 pp 个整数,每个整数在 [1,4][1, 4] 之间,依次表示你进行的操作对应的序号。

输入输出样例 #1

输入 #1

4
3 5 6
0 0 1
7 7 7
2 9 4

输出 #1

2
4 1
-1
0

2
1 2

说明/提示

对于第一组数据,初始 a=3b=5c=6a = 3,b = 5,c = 6,进行第一次操作后 a=3b=6c=6a = 3,b = 6,c = 6进行第二次

操作后 a=b=c=6a=b=c=6,符合要求。