#include #include #include #include using namespace std; string dp[200][200]; string s; string iz(int st, string sub){ if (st==1) return sub; char z[100]; sprintf(z,"%d",st); string res=z; res=res+"("+sub+")"; return res; } string res(int x,int y){ //printf("%d %d\n",x,y); if (x+1==y) return s.substr(x,1); if (x>=y) return ""; if (dp[x][y][0]!='+') return dp[x][y]; for (int i=x;iy) break; if (res(j,j+i-x+1)==s1){ st++; string dum=iz(st,s1)+res(j+i-x+1,y); if (dum.size()