#include<bits/stdc++.h>
using namespace std;
const int N = 3, M = 3, L = 4;
int S[4] = {1,3,4,6};
int A[N+2][M+2] = {
{0,0,0,0,0},
{0,1,2,3,0},
{0,3,4,5,0},
{0,5,6,7,0},
{0,0,0,0,0}
};
int V[N+2][M+2] = {0};
int dx[4] = {1,-1,0,0};
int dy[4] = {0,0,1,-1};
void DFS(int x, int y, int c){
V[x][y] = 1;
if(c == L-1){
cout << "FOUND" << endl;
return;
}
for(int i=0; i<4;i++){
int nx = x+dx[i], ny = y+dy[i];
if(!V[nx][ny] && A[nx][ny] == S[c+1]) DFS(nx,ny, c+1);
}
}
int main() {
for(int i=1; i<=N;i++){
for(int j=1; j<=M;j++){
if(!V[i][j] && A[i][j] == S[0]) DFS(i,j,0);
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBOID0gMywgTSA9IDMsIEwgPSA0OwppbnQgU1s0XSA9IHsxLDMsNCw2fTsKaW50IEFbTisyXVtNKzJdID0geyAKCQkJCXswLDAsMCwwLDB9LAoJCQkJezAsMSwyLDMsMH0sCgkJCQl7MCwzLDQsNSwwfSwKCQkJCXswLDUsNiw3LDB9LAoJCQkJezAsMCwwLDAsMH0KCQkJCX07CmludCBWW04rMl1bTSsyXSA9IHswfTsKaW50IGR4WzRdID0gezEsLTEsMCwwfTsKaW50IGR5WzRdID0gezAsMCwxLC0xfTsKCnZvaWQgREZTKGludCB4LCBpbnQgeSwgaW50IGMpewoJVlt4XVt5XSA9IDE7CgoJaWYoYyA9PSBMLTEpewoJCWNvdXQgPDwgIkZPVU5EIiA8PCBlbmRsOwoJCXJldHVybjsKCX0KCWZvcihpbnQgaT0wOyBpPDQ7aSsrKXsKCQlpbnQgbnggPSB4K2R4W2ldLCBueSA9IHkrZHlbaV07CgkJaWYoIVZbbnhdW255XSAmJiBBW254XVtueV0gPT0gU1tjKzFdKSBERlMobngsbnksIGMrMSk7Cgl9Cn0KCgppbnQgbWFpbigpIHsKCWZvcihpbnQgaT0xOyBpPD1OO2krKyl7CgkJZm9yKGludCBqPTE7IGo8PU07aisrKXsKCQkJaWYoIVZbaV1bal0gJiYgQVtpXVtqXSA9PSBTWzBdKSBERlMoaSxqLDApOwoJCX0KCX0KCXJldHVybiAwOwp9