#include <bits/stdc++.h>
using namespace std;
bool valid(int arr[8][8],int r,int c){
if(r>=0 and r<8 and c>=0 and c<8 and arr[r][c]== -1)
return true;
return false;
}
void fun(int arr[8][8],int r,int c,int x){
if(x==64){
cout<<"***********************ARRAY FOUND***********************\n";
for(int i=0;i<8;i++){
for(int j=0;j<8;j++)
cout<<arr[i][j]<<" ";
cout<<"\n";
}
return;
}
if(!valid(arr,r,c))
return;
arr[r][c] = x;
fun(arr,r-2,c+1,x+1); fun(arr,r-2,c-1,x+1);
fun(arr,r-2,c+2,x+1); fun(arr,r-2,c-2,x+1);
fun(arr,r+2,c+1,x+1); fun(arr,r+2,c-1,x+1);
fun(arr,r+1,c+2,x+1); fun(arr,r+1,c-2,x+1);
arr[r][c] = -1;
}
int main() {
int arr[8][8] ;
for(int i=0;i<8;i++){
for(int j=0;j<8;j++)
arr[i][j] = -1;
}
int r=0,c=0,x=0; fun(arr,r,c,x);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIHZhbGlkKGludCBhcnJbOF1bOF0saW50IHIsaW50IGMpewoJaWYocj49MCBhbmQgcjw4IGFuZCBjPj0wIGFuZCBjPDggYW5kIGFycltyXVtjXT09IC0xKQoJCXJldHVybiB0cnVlOwoJcmV0dXJuIGZhbHNlOwp9CnZvaWQgZnVuKGludCBhcnJbOF1bOF0saW50IHIsaW50IGMsaW50IHgpewoJaWYoeD09NjQpewoJCWNvdXQ8PCIqKioqKioqKioqKioqKioqKioqKioqKkFSUkFZIEZPVU5EKioqKioqKioqKioqKioqKioqKioqKipcbiI7CgkJZm9yKGludCBpPTA7aTw4O2krKyl7CgkJCWZvcihpbnQgaj0wO2o8ODtqKyspCgkJCQljb3V0PDxhcnJbaV1bal08PCIgIjsKCQkJY291dDw8IlxuIjsKCQl9CgkJcmV0dXJuOwoJfQoJaWYoIXZhbGlkKGFycixyLGMpKQoJCXJldHVybjsKCWFycltyXVtjXSA9IHg7CglmdW4oYXJyLHItMixjKzEseCsxKTsgZnVuKGFycixyLTIsYy0xLHgrMSk7CglmdW4oYXJyLHItMixjKzIseCsxKTsgZnVuKGFycixyLTIsYy0yLHgrMSk7CglmdW4oYXJyLHIrMixjKzEseCsxKTsgZnVuKGFycixyKzIsYy0xLHgrMSk7CglmdW4oYXJyLHIrMSxjKzIseCsxKTsgZnVuKGFycixyKzEsYy0yLHgrMSk7CglhcnJbcl1bY10gPSAtMTsKfQppbnQgbWFpbigpIHsKCWludCBhcnJbOF1bOF0gOwoJZm9yKGludCBpPTA7aTw4O2krKyl7CgkJZm9yKGludCBqPTA7ajw4O2orKykKCQkJYXJyW2ldW2pdID0gLTE7Cgl9CglpbnQgcj0wLGM9MCx4PTA7IGZ1bihhcnIscixjLHgpOwp9IAoKCgoKCgoKCgoKCgoKCgoKCiAg