import java.util.*; import java.math.*; public class Solution { static void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { int i = Math.abs(i_end - i_start); int j = Math.abs(j_end - j_start) - (i/2); int count = (i/2) + Math.abs(j/2); if (i%2 != 0 || j%2 != 0) System.out.println("Impossible"); else { int steps = 0; int[] ar = new int[count]; for (int k=0; k= j_end && i_start > i_end) { ar[steps] = 1; steps++; i_start -= 2; j_start -= 1; } else if (j_start < j_end && i_start > i_end) { ar[steps] = 2; steps++; i_start -= 2; j_start += 1; } else if (j_start < j_end && i_start == i_end) { ar[steps] = 3; steps++; j_start += 2; } else if (j_start <= j_end && i_start < i_end) { ar[steps] = 4; steps++; i_start += 2; j_start += 1; } else if (j_start > j_end && i_start < i_end) { ar[steps] = 5; steps++; i_start += 2; j_start -= 1; } else if (j_start > j_end && i_start == i_end) { ar[steps] = 6; steps++; j_start -= 2; } Arrays.sort(ar); } System.out.println(steps); for (int k=0; k