For this Question: You are given a 100*100 chessboard. A knight is placed on cell (i, j). You have to find the number of blocks on the chessboard that the knight can be at in exactly N moves.Input contains three integers i j N.

Constraints 

1 <= i, j <= 100
1 <= N <= 10Output a single integer, the number of blocks on the chessboard that the knight can be at in exactly N moves.sample input 1
1 1 1

sample output 1
2

sample input 2 
50 50 1

sample input 2
8, I have written this Solution Code: import java.io.* ;
import java.util.* ;
public class Main
{
	static int arr[][];
	static int visited[][];
	static int length;
	static int check(int x,int y)
	{
		if(x<1 || y<1)
		  return 0;
		if(x>100 || y>100)
		   return 0;
		return 1;
	}
	static void find(int i,int j , int n)
	{
		int X[]={i+2,i+2,i+1,i+1,i-1,i-1,i-2,i-2};
		int Y[]={j+1,j-1,j+2,j-2,j+2,j-2,j+1,j-1};
		if(n==1)
		{
          for(int a=0;a<8;a++)
		  {
			  if(check(X[a],Y[a])==1)
			  {
				  arr[X[a]][Y[a]]=1;
			  }
		  }
		  return ;
		}

		if(n%2==0)
		   arr[i][j]=1;
		else
		for(int a=0;a<8;a++)
		  {
			  if(check(X[a],Y[a])==1)
			  {
				  arr[X[a]][Y[a]]=1;
			  }
		  }


		if(visited[i][j]>=n)
		   return ;
		visited[i][j]=n;



             for(int a=0;a<8;a++)
		  {
			  if(check(X[a],Y[a])==1)
			  {
				 find(X[a],Y[a],n-1);
			  }
		  }

	}
	public static void main(String args[]) throws IOException
	{

		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String str[]=bf.readLine().split(" ");
		int i1=Integer.parseInt(str[0]);
		int j1=Integer.parseInt(str[1]);
		int n=Integer.parseInt(str[2]);
		length=n;
		arr=new int[100+1][100+1];
		visited=new int[100+1][100+1];
		find(i1,j1,n);
		int count=0;
		for(int i=1;i<=100;i++)
		{
			for(int j=1;j<=100;j++)
			{

				if(arr[i][j]==1)
				   count++;
			}

		}
		System.out.println(count);
	}
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?