#include <bits/stdc++.h>
using namespace std;

vector<vector<int>>visitedk1;
vector<vector<int>>visitedk2;

int i;int j;
int solve1(int c1,int x,int y,int t1,int t2,vector<vector<int>>& visited){
    if(x==t1 && y==t2 ) {
	    return c1;
	}
	int ans  = INT_MAX;
    if((x>=i)||(y>=j)||(x<0)||(y<0)){
        return ans;
    }
    if(c1>=visited[x][y]){
        return ans;
    }
    visited[x][y]=c1;
   
    ans = min(ans,solve1(c1+1,x-1,y-2,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x-1,y+2,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x+1,y-2,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x+1,y+2,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x-2,y-1,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x+2,y-1,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x-2,y+1,t1,t2,visited));
    ans = min(ans,solve1(c1+1,x+2,y+1,t1,t2,visited));
    
   return ans;
    
}




void solve(int a,int b,int x,int y,int t1,int t2){
   int k1 = solve1(0,a,b,t1,t2,visitedk1);
   int k2 = solve1(0,x,y,t1,t2,visitedk2);
   if(k1 == INT_MAX && k2 == INT_MAX){
       cout<<"Not Possible";
       return ;
   }
   if(k1<k2){
       cout<<"Knight 1";
       return ;
   }
   else if(k1>k2){
       cout<<"Knight 2";
   }
   else{
       cout<<"Both";
   }
   
    
    
    
    
}

int main() {
	int x1,y1,x2,y2,t1,t2,n,m;
	cin>>x1>>y1;
	cin>>x2>>y2;
	cin>>t1>>t2;
	cin>>n>>m;
	
	i = n;j = m;
	if(x1==t1 && y1==t2 ) {
	    cout<<"Knight 1";
	    return 0;
	}
	
	
    else if(x2==t1 && y2 == t2){
        cout<<"Knight 2";
        return 0;
    }
    visitedk1.resize(n,vector<int>(m,INT_MAX));
    visitedk2.resize(n,vector<int>(m,INT_MAX));
    
   solve(x1,y1,x2,y2,t1,t2);
   
	

}
