using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Runtime.Intrinsics.Arm; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static string[] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine()).ToArray(); public static void Main() { Solve(); } static void Solve() { var t = NN; var ans = new int[t]; for (var i = 0; i < t; ++i) { var c = NList; ans[i] = Kado(c[0], c[1], c[2]); } WriteLine(string.Join("\n", ans)); } static int Kado(int a, int b, int c) { if (a > b && b < c) { if (a != c) return 0; if (a == 2) return -1; if (a - b == 1) return 2; return 1; } if (a < b && b > c) { if (a != c) return 0; if (a == 1) return -1; return 1; } if (a > c) (a, c) = (c, a); // ここから a <= b, b <= c if (a == c) { if (a < 3) return -1; return 3; } if (a == b) { if (a < 2) return -1; return 1; } if (b == c) { if (b < 2) return -1; return 1; } // ここから a < b < c if (b == 2) return -1; if (a == 1) { return c - b + 1; } return Math.Min(c - b, b - a) + 1; } }