#include <bits/stdc++.h>
using namespace std;
//ifstream fin ("C:\\Users\\Anushi Maheshwari\\Documents\\CodeChef\\Test\\Test.out");
//ofstream fout ("C:\\Users\\Anushi Maheshwari\\Documents\\CodeChef\\Checker\\Wrong.txt");
#define FileIn() freopen("C:\\Users\\Anushi Maheshwari\\Documents\\CodeChef\\Test\\Test.out", "r", stdin)
#define FileOut() freopen("C:\\Users\\Anushi Maheshwari\\Documents\\CodeChef\\Checker\\Wrong.txt", "w", stdout)
#define N 1000010
#define mod 1000000007
#define f first
#define s second
char a[5][5];
char s[20];
int res;
bool vis[5][5];
int dx[]={1,1,-1,-1,0,0,1,-1};
int dy[]={1,0,-1,0,1,-1,-1,1};
int score(int x){
return (x<5)?1:(x>7)?11:x-3;
}
bool dfs(int x,int y,unsigned int id){
if(x<0 || x>3 || y<0 || y>3 || vis[x][y] || a[x][y]!=s[id]) return 0;
vis[x][y]=1;
bool ans=0;
for(int i=0;i<8 && (!ans);i++)
ans|=dfs(x+dx[i],y+dy[i],id+1);
vis[x][y]=0;
return ans;
}
void solve(){
bool ok=0;
for(int i=0;i<5 && (!ok);i++)
for(int j=0;j<5 && (!ok);j++){
ok|=dfs(i,j,0);
}
}
int main(){
//FileIn();FileOut();
int t,q;
for(int test=1;test<=t;test++){
for(int i=0;i<4;i++)
res=0;
while(q--){
solve();
}
printf("Score for Boggle game #%d: %d\n",test
,res
); //printf("%d\n",res);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovL2lmc3RyZWFtIGZpbiAoIkM6XFxVc2Vyc1xcQW51c2hpIE1haGVzaHdhcmlcXERvY3VtZW50c1xcQ29kZUNoZWZcXFRlc3RcXFRlc3Qub3V0Iik7Ci8vb2ZzdHJlYW0gZm91dCAoIkM6XFxVc2Vyc1xcQW51c2hpIE1haGVzaHdhcmlcXERvY3VtZW50c1xcQ29kZUNoZWZcXENoZWNrZXJcXFdyb25nLnR4dCIpOwoKI2RlZmluZSBGaWxlSW4oKSBmcmVvcGVuKCJDOlxcVXNlcnNcXEFudXNoaSBNYWhlc2h3YXJpXFxEb2N1bWVudHNcXENvZGVDaGVmXFxUZXN0XFxUZXN0Lm91dCIsICJyIiwgc3RkaW4pCiNkZWZpbmUgRmlsZU91dCgpIGZyZW9wZW4oIkM6XFxVc2Vyc1xcQW51c2hpIE1haGVzaHdhcmlcXERvY3VtZW50c1xcQ29kZUNoZWZcXENoZWNrZXJcXFdyb25nLnR4dCIsICJ3Iiwgc3Rkb3V0KQoKI2RlZmluZSBOIDEwMDAwMTAKI2RlZmluZSBtb2QgMTAwMDAwMDAwNwojZGVmaW5lIGYgZmlyc3QKI2RlZmluZSBzIHNlY29uZAoKY2hhciBhWzVdWzVdOwpjaGFyIHNbMjBdOwppbnQgcmVzOwpib29sIHZpc1s1XVs1XTsKaW50IGR4W109ezEsMSwtMSwtMSwwLDAsMSwtMX07CmludCBkeVtdPXsxLDAsLTEsMCwxLC0xLC0xLDF9OwoKaW50IHNjb3JlKGludCB4KXsKCXJldHVybiAoeDw1KT8xOih4PjcpPzExOngtMzsKfQoKYm9vbCBkZnMoaW50IHgsaW50IHksdW5zaWduZWQgaW50IGlkKXsKCWlmKGlkPT1zdHJsZW4ocykpIHJldHVybiAxOwoJaWYoeDwwIHx8IHg+MyB8fCB5PDAgfHwgeT4zIHx8IHZpc1t4XVt5XSB8fCBhW3hdW3ldIT1zW2lkXSkgcmV0dXJuIDA7Cgl2aXNbeF1beV09MTsKCWJvb2wgYW5zPTA7Cglmb3IoaW50IGk9MDtpPDggJiYgKCFhbnMpO2krKykKCQlhbnN8PWRmcyh4K2R4W2ldLHkrZHlbaV0saWQrMSk7Cgl2aXNbeF1beV09MDsKCXJldHVybiBhbnM7Cn0KCnZvaWQgc29sdmUoKXsKCWJvb2wgb2s9MDsKCWZvcihpbnQgaT0wO2k8NSAmJiAoIW9rKTtpKyspCgkJZm9yKGludCBqPTA7ajw1ICYmICghb2spO2orKyl7CgkJCW9rfD1kZnMoaSxqLDApOwoJCX0KCWlmKG9rKSByZXMrPXNjb3JlKHN0cmxlbihzKSk7Cn0KCgppbnQgbWFpbigpewoJLy9GaWxlSW4oKTtGaWxlT3V0KCk7CglpbnQgdCxxOwoJc2NhbmYoIiVkIiwmdCk7Cglmb3IoaW50IHRlc3Q9MTt0ZXN0PD10O3Rlc3QrKyl7CgkJZm9yKGludCBpPTA7aTw0O2krKykKCQlzY2FuZigiJXMiLGFbaV0pOwoJCXNjYW5mKCIlZCIsJnEpOwoJCXJlcz0wOwoJCXdoaWxlKHEtLSl7CgkJCXNjYW5mKCIlcyIscyk7CgkJCXNvbHZlKCk7CgkJfQoJCXByaW50ZigiU2NvcmUgZm9yIEJvZ2dsZSBnYW1lICMlZDogJWRcbiIsdGVzdCxyZXMpOwoJCS8vcHJpbnRmKCIlZFxuIixyZXMpOwoJfQoJcmV0dXJuIDA7Cn0K