import java.util.*; public class codeSprint12_redKnight { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int x = scan.nextInt(); int y = scan.nextInt(); int X = scan.nextInt(); int Y = scan.nextInt(); if(X>=x) { int flag=0; int c=0; if(Y>=y) { int moves[] = new int[1000]; int m1=0; while(true) { if(x==X) { int fi = 0; while(true) { y = y+2; if(y>n-1) { flag=1; break; } c++; //System.out.print("R "); moves[m1++]=3; if(y==Y) { fi=1; break; } } if(fi==1) break; else { flag=1; break; } } else{ x = x+2; y = y+1; if(x>n-1 || y>n-1) { flag=1; break; } moves[m1++]=4; c++; //System.out.print("LR "); } if(x==X && y==Y) break; } if(flag==1) System.out.println("Impossible"); else { System.out.println(c); for(int i=0;in-1 || y<0) { flag=1; break; } moves[m1++]=5; c++; //System.out.print("LR "); } if(x==X && y==Y) break; } if(flag==1) System.out.println("Impossible"); else { System.out.println(c); for(int i=0;i=y) { int moves[] = new int[1000]; int m1=0; while(true) { if(x==X) { int fi = 0; while(true) { y = y+2; if(y>n-1) { flag=1; break; } c++; //System.out.print("R "); moves[m1++]=3; if(y==Y) { fi=1; break; } } if(fi==1) break; else { flag=1; break; } } else{ x = x-2; y = y+1; if(x<0 || y>n-1) { flag=1; break; } moves[m1++]=2; c++; //System.out.print("UR "); } if(x==X && y==Y) break; } if(flag==1) System.out.println("Impossible"); else { System.out.println(c); for(int i=0;i