You are given two integers a and b.

In one move, you can choose some integer k from 1 to 10 and add it to a or subtract it from a. In other words, you choose an integer k ∈ [1; 10] and perform a := a + k or a := a - k. You may use different values of k in different moves.

Your task is to find the minimum number of moves required to obtain b from a.

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 2 ⋅ 10^4) — the number of test cases. Then t test cases follow.

The only line of the test case contains two integers a and b (1 ≤ a, b ≤ 10^9).

Output

For each test case, print the answer: the minimum number of moves required to obtain b from a.

Example

Input


6
5 5
13 42
18 4
1337 420
123456789 1000000000
100500 9000


Output


0
3
2
92
87654322
9150

Note

In the first test case of the example, you don't need to do anything.

In the second test case of the example, the following sequence of moves can be applied: 13 → 23 → 32 → 42 (add 10, add 9, add 10).

In the third test case of the example, the following sequence of moves can be applied: 18 → 10 → 4 (subtract 8, subtract 6).
import math
import sys
from sys import *
from bisect import insort
import heapq
import collections
from collections import deque, defaultdict
from itertools import permutations, combinations, combinations_with_replacement
import random
import os

mod = 10**9+7 #1000000007
MAX = sys.maxsize #maximum size
MIN = -sys.maxsize-1 #minimum size

#----------Check Prime numbers----------------
def isPrime(n):
    if n>1:
        for i in range(2,n):
            if (n%i) == 0:
                return False
        else:
            return True
    else:
        
        return False
#----------Check Panagram-----------------------
def isPanagram(s):
    
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    for char in alphabet:
        if char not in s.lower():
            return False
    return True

#----------List with same elements--------------
def isEqual(list1):
    if len(list1)<0:
        res = True
    res = all(ele == list1[0] for ele in list1)
    if(res):
        return True
    else:
        return False

#-----Removing duplicate elements from a list---
def remove_duplicate(list1):
    final_list = []
    for i in list1:
        if i not in final_list:
            final_list.append(i)
    return final_list%mod

#-----------------Solve it----------------------
def solve():
    a,b = map(int, input().split())
    if a==b:
        return 0
    if a<b:
        if (b-a)%2==1:
            return 1
        return 2
    else:
        if (a-b)%2==0:
            return 1
        return 2
#------------------Main-------------------------
if __name__ == '__main__':
    t = int(stdin.readline())
    for i in range (t):
        result =solve()
        stdout.write(str(result)+'\n')
