#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
char X[7]={'A','B','C','B','D','A','B'};
char Y[6]={'B','D','C','A','B','A'};
int LCS[8][7];
int LCI[8][7];
void LCSLeng(char *a,char *b,int c[8][7],int d[8][7])
{
int i=strlen(a);
int j=strlen(b);
for(int r=0;r<=i;r++)
c[i][0]=0;
for(int s=0;s<=j;s++)
c[0][j]=0;
for(int k=1;k<=i;k++)
for(int l=1;l<=j;l++)
{
if(X[k]==Y[l])
{
c[k][l]=c[k-1][l-1]+1;
d[k][l]=0;
}
else if(c[k-1][l]>=c[k][l-1])
{
c[k][l]=c[k-1][l];
d[k][l]=-1;
}
else
{
c[k][l]=c[k][l-1];
d[k][l]=1;
}
}
}
void print(int b[8][7],int i,int j)
{
if(i==0||j==0)
return;
if(b[i][j]==0)
{
print(b,i-1,j-1);
//cout<<X[i-1]<<endl;
printf("%c",X[i-1]);
}
else if(b[i][j]==-1)
{
print(b,i-1,j);
}
else print(b,i,j-1);
}
int main()
{
LCSLeng(X,Y,LCS,LCI);
print(LCI,8,7);
}