import java.util.*; import java.lang.*; public class Knight { public static void main(String args[]) { Scanner ob=new Scanner(System.in); int n=ob.nextInt(); int istart=ob.nextInt(); int jstart=ob.nextInt(); int iend=ob.nextInt(); int jend=ob.nextInt(); int a=Math.abs(istart-iend); int b=Math.abs(jstart-jend); int q=0; String s=""; if(noOfMoves(a,b)==-1) { System.out.println("Impossible"); } else { System.out.println(noOfMoves(a,b)); if(a%2==0) { q=a/2 ; } if(istart>iend && jstart>jend) { if(b>q) { for(int i=0;iiend && jstart==jend) { for(int j=0;jiend && jstartq) { for(int i=0;iq) { for(int j=0;jjend) { if(b>q) { for(int i=0;ijend) { for(int i=0;ic1) { int c2=x/2 ; return c2; } else { return 0; } } else { return -1 ; } } else { return -1 ; } } public static int noOfMoves(int a, int b) { int p=0; if(a%2==0) { p=a/2 ; } int q=possible(a,b); int moves=0; if(q!=-1) { moves=p+q; return moves; } else { return -1; } } }