#include<stdio.h> #include<string.h> int a[512][512]; bool sign[512][512]; char b[512],c[512]; int DP(int x,int y) { if(x<0||y<0)return 0; if(sign[x][y])return a[x][y]; int max;int temp; max=DP(x-1,y); temp=DP(x,y-1); if(temp>max)max=temp; if(b[x]==c[y]) { temp=DP(x-1,y-1); if(temp+1>max)max=temp+1; } a[x][y]=max; sign[x][y]=true; return a[x][y]; } int main( ) { while(scanf("%s%s",&b,&c)!=EOF) { int m=strlen(b); int n=strlen(c); int i ,j; for(i=0;i<=m;i++) for(j=0;j<=n;j++) sign[i][j]=false; printf("%d/n",DP(m-1,n-1)); } return 0; }