#include #include using namespace std; void printShortestPath(int n, int y_start, int x_start, int y_end, int x_end) { vector x; //cout<<"Valor de x_start: "<= y_end ){ if( x_start >= x_end ){ y_start = y_start-2; x_start = x_start-1; UL++; realizouOperacao = true; vezes++; if(LR>0){ break; } }else if ( x_start <= x_end ){ y_start = y_start-2; x_start = x_start+1; UR++; realizouOperacao = true; vezes++; if(LL>0){ break; } } }else if( y_start == y_end && x_start < x_end ){ x_start = x_start+2; R++; realizouOperacao = true; vezes++; if(L>0){ break; } }else if( y_start+2 <= y_end ){ if(x_start <= x_end){ y_start = y_start+2; x_start = x_start+1; LR++; realizouOperacao = true; vezes++; if(UL>0){ break; } }else if(x_start >= x_end){ y_start = y_start+2; x_start = x_start-1; LL++; realizouOperacao = true; vezes++; if(UR>0){ break; } } }else if( y_start == y_end && x_start > x_end ){ x_start = x_start-2; L++; realizouOperacao = true; vezes++; if(R>0){ break; } } if( realizouOperacao == false ){ possivelMover = false; } realizouOperacao = false; } if(x_end == x_start && y_end == y_start){ cout<0){ for(int j=0;j0){ for(int j=0;j0){ for(int j=0;j0){ for(int j=0;j0){ for(int j=0;j0){ for(int j=0;j> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; if( i_start >= n || j_start >= n || i_end >= n || j_end >= n ){ cout<<"Impossible"<