小灯做题
题号:NC274700
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Tomori在做一个题目,这个题目初始有四个非负整数 a,b,c,k

每次Tomori可以对 a, b, c 进行操作:选择其中两个数 x,y,然后将剩下一个数改成 \operatorname{mex}(x,y)

Tomori想知道她最少操作多少次,能让 a,b,c 中的一个数变成 k。若无解,则输出 -1

\operatorname{mex}(x,y) 表示最小的非负整数 p ,满足 p\ne xp\ne y ,例如 \operatorname{mex}(1,2)=0,\operatorname{mex}(0,2)=1

输入描述:

第一行输入一个正整数 T(1 \leq T \leq 100) ,表示询问次数。

接下来 T 行,每行输入四个非负整数 a,b,c,k(0 \leq a,b,c,k \leq 10^9) ,表示询问。

输出描述:

对于每个询问,在一行中输出一个整数表示答案。
示例1

输入

复制
3
1 2 3 1
1 2 3 0
1 2 3 4

输出

复制
0
1
-1

说明

第 1 个询问:
第 1 个数已经是1了;
不需要进行操作。
第 2 个询问:
选择第 1、2 个数,将第 3 个数变成 mex(1,2) = 0 ;
只需要进行 1 次操作。