NAKANJ - Minimum Knight moves !!!


Anjali and Nakul are good friends. They both had a quarrel recently while playing chess. Nakul wants to know the minimum number of moves a knight takes to reach from one square to another square of a chess board (8 × 8). Nakul is brilliant and he had already written a program to solve the problem. Nakul wants to know whether Anjali can do it. Anjali is very weak in programming. Help her to solve the problem.

A knight can move in the shape of an "L" in a chessboard - two squares either forward, backward, left, or right and then one square to its left or right. A knight move is valid if it moves as mentioned above and it is within the boundary of the chessboard (8 × 8).

knight

Input

There are T test cases in total. The next T lines contain two strings (start and destination) separated by a space.

The strings start and destination will only contain two characters - First character is an alphabet between 'a' and 'h' (inclusive), Second character is a digit between '1' and '8' (inclusive) - (Quotes just for clarity).

To know the knight moves more clearly refer to the above figure.

Output

Print the minimum number of moves a knight takes to reach from start to destination in a separate line.

Constraints

1 <= T <= 4096

Example

Input:
3
a1 h8
a1 c2
h8 c3

Output:
6
1
4

hide comments
bicky: 2013-06-07 05:36:49

dont know why i'm getting wrong ans??
ans for all test cases are rihgt.
Admin pls check my sol

Reply : Your code is producing 0 for all the test cases.

Last edit: 2013-06-13 14:21:06
bicky: 2013-06-06 13:06:34

whats should be the ans for a1 a1???

Reply : It should be 0.

Last edit: 2013-06-13 14:24:37
yehya ibraheem: 2013-03-14 15:44:01

what the meaning of runtime error?

J.A.R.V.I.S.: 2013-02-16 18:46:49

Same as CCHESS except for the input format

Mostafa 36a2: 2012-12-20 10:15:25

Enjoy Solving Thanks :)

Last edit: 2012-12-20 13:25:57
Aditya Pande: 2012-11-26 09:47:55

also try http://www.spoj.pl/problems/NAKANJC/

Last edit: 2012-11-26 19:47:16
sahil: 2012-10-27 15:18:59

what should be the o/p for a1 a1
0 or 2?


It should be 0.

Last edit: 2012-10-31 03:51:09

Added by:Nakul Krishna
Date:2012-09-30
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Used for Code it - Vidyut 2012 - Amrita University