#include using namespace std; struct letter { int x; int fr; }; bool cmp(letter a,letter b){return a.fr>b.fr;} string s1; pair getpoints(string res) { int i,k=0; string r1="",r2="",r3=""; for(i=0;i<10;i++) r1+=res[k++]; for(i=0;i<9;i++) r2+=res[k++]; for(i=0;i<7;i++) r3+=res[k++]; int f=res.find(s1[0])+1,sec=res.find(s1[1])+1; if(f<11&&sec<11&&sec10&&sec>10&&f<20&&sec<20&&sec19&&sec>19&&sec=0&&t1<10) { int tt1=r1.find(s1[1]),tt2=r2.find(s1[1]),tt3=r3.find(s1[1]); if(tt2>=0&&tt2<9) { if(t1>tt2) swap(f,sec); } else if(tt3>=0&&tt3<7) { if(t1>tt3) { if(t1-tt3==1) f--; else swap(f,sec); } } } else if(t2>=0&&t2<9) { int tt1=r1.find(s1[1]),tt2=r2.find(s1[1]),tt3=r3.find(s1[1]); if(tt1>=0&&tt1<10) { if(tt1<=t2) swap(f,sec); } else if(tt3>=0&&tt3<7) { if(t2>tt3) swap(f,sec); } } else if(t3>=0&&t3<7) { int tt1=r1.find(s1[1]),tt2=r2.find(s1[1]),tt3=r3.find(s1[1]); if(tt1>=0&&tt1<10) { if(t3==tt1) swap(f,sec); if(tt1>t3) { if(tt1-t3==1) sec--; else swap(f,sec); } } else if(tt2>=0&&tt2<9) { if(tt2<=t3) swap(f,sec); } } } return make_pair(f,sec); } int x[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,39, 39, 39, 39, 39, 39, 39, 39, 79,79, 79, 79, 79, 79, 79}; int y[]={0 ,38, 76,114,152,190,228,266,304,342, 10,48, 86,124,162,200,238,276,314, 37,75,113,151,189,227,265}; float dist(int x1,int y1,int x2,int y2) { int k=x1-x2; k*=k; int m=y1-y2; m*=m; return sqrt(k+m); } string s; float check(string a,int l,int r) { float score=0; int n=s.size(); for(int i=0;idr&&y[l]dr){score+=dl; l=ind;} else if(dl p=getpoints(a1); int score=check(a1,p.first,p.second); if(score>n>>s; s1=""; letter m[26]; int brr; for(int i=0;i<26;i++){m[i].fr=0; m[i].x=i;} for(int i=0;i p=getpoints(res); cout<