“I am not in danger, Skyler. I am the danger. A guy opens his door and gets shot, and you think that of me? No! I am the one who knocks!”
Skyler fears Walter and ponders escaping to Colorado. Walter wants to clean his lab as soon as possible and then go back home to his wife. 
In order clean his lab, he has to achieve cleaning level of lab as $Y$. The current cleaning level of the lab is $X$. 
He must choose one positive odd integer $a$ and one positive even integer $b$. Note that, he cannot change $a$ or $b$ once he starts cleaning.
He can perform any one of the following operations for one round of cleaning:  
- Replace $X$ with $X+a$.  
- Replace $X$ with $X-b$.
Find minimum number of rounds (possibly zero) to make lab clean.

-----Input:-----
- First line will contain $T$, number of test cases. $T$ testcases follow :  
- Each test case contains two space separated integers $X, Y$. 

-----Output:-----
For each test case, output an integer denoting minimum number of rounds to clean the lab.

-----Constraints-----
- $1 \leq T \leq 10^5$
- $ |X|,|Y| \leq 10^9$

-----Sample Input:-----
3
0 5
4 -5
0 10000001

-----Sample Output:-----
1
2
1

-----EXPLANATION:-----
- 
For the first testcase, you can convert $X$ to $Y$  by choosing $a=5$ and $b=2$.

It will cost minimum of $1$ cleaning round. You can select any other combination of $a, b$ satisfying above condition but will take minimum of $1$ cleaning round in any case.
- 
For the second testcase, you can convert $X$ to $Y$ by choosing $a=1$ and $b=10$. In first round they will replace $X$ to $X+a$ and then in second round replace to $X-b$. You can perform only one operation in one round.

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = 'for t in range(int(input())):\n x,y = map(int, input().split())\n z=x-y\n if x > y:\n  if z % 2 == 0:print(1)\n  else:print(2)\n elif x < y:\n  if z % 2 != 0:print(1)\n  elif z % 4 == 0:print(3)\n  else:print(2)\n else:print(0)'
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: 13097