A. Riptide

time limit per test

1 second

memory limit per test

256 megabytes

Alice, Bob, and Charlie are playing a game with tokens. They start with a, b, and c tokens, respectively.

The game is played in rounds. Before the beginning of each round, they check the number of tokens everyone has:

  • If any two players have the exact same number of tokens, the game immediately ends.
  • Otherwise, the round begins, all three players have a strictly different number of tokens. The player with the strictly most tokens gives exactly 1 token to the player with the strictly fewest tokens.

Given the starting tokens a, b, and c, determine exactly how many rounds the game will last before it ends.

Input

The first line contains a single integer t (1≤t≤103) --- the number of test cases.

Each test case consists of a single line containing three integers a, b, and c (1≤a,b,c≤10).

Output

For each test case, output a single integer --- the number of rounds the game will last before it ends.

Example

Input

Copy

复制代码

6

1 2 3

4 6 1

3 3 7

1 7 10

6 1 9

1 1 1

Output

Copy

复制代码

1

2

0

3

3

0

Note

In the first test case:

  • No two players have the same number of tokens.
  • Charlie has the most tokens (3 tokens), and Alice has the fewest tokens (1 token). Therefore, Charlie gives Alice a token.
  • Now, Alice has 2 tokens, Bob has 2 tokens, and Charlie has 2 tokens. Since there are two players (or more) with the same number of tokens, the game ends.

The game ended after 1 round, so the answer is 1.

In the second test case, the game is played as follows:

  • Bob gives Charlie a token, now Alice has 4 tokens, Bob has 5 tokens, and Charlie has 2 tokens.
  • Bob gives Charlie a token, now Alice has 4 tokens, Bob has 4 tokens, and Charlie has 3 tokens. Since two players have the same number of tokens, the game ends.

The game lasted 2 rounds.

In the third test case, two players already have the same number of tokens. So the answer is 0 since no rounds were played.

解题说明:水题,找到差值最小的两个数即可。

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) 
    {
        int a, b, c, count = 0;
        scanf("%d%d%d", &a, &b, &c);
        count = abs(a - b);
        if (count > abs(b - c)) 
        {
            count = abs(b - c);
        }
        if (count > abs(c - a))
        {
            count = abs(c - a);
        }
        printf("%d\n", count);
    }
    return 0;
}
相关推荐
m0_739312871 小时前
四元数、李群SO(3)/李代数so(3)的作用及应用场景
算法·机器人·自动驾驶
artificiali1 小时前
880 第4章多元
人工智能·算法
Felven2 小时前
B. Deja Vu
数据结构·算法
小玮看世界2 小时前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
月华路2 小时前
《模型不玄学》第14章 标签、损失与样本权重
人工智能·算法·机器学习
黄金龙PLUS2 小时前
SPARKLE置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
不会就选b2 小时前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
行者全栈架构师2 小时前
WorkBuddy 实战:把一份 200 页年报变成可上台的投资分析 PPT
人工智能·算法·全栈
微三云生态系统架构师-彭丹2 小时前
矩阵拼团系统设计:先付款先排队的订单排序与自动返本算法
线性代数·算法·矩阵