#include <bits/stdc++.h>
using namespace std;
int main(){
int a[10009],n=0,m=0,b[10009],sum[10009][10009],e[10009];
string s,c;
bool a1[10009],b1[10009];
getline(cin,s);
s+=' ';
for(int i=0;i<s.size();i++){
if(s[i]!=' '){
c+=s[i];
}
else{
n++;
a[n]=stoi(c);
c="";
}
}
getline(cin,s);
getline(cin,s);
s+=' ';
c="";
for(int i=0;i<s.size();i++){
if(s[i]!=' '){
c+=s[i];
}
else{
m++;
b[m]=stoi(c);
c="";
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i]==b[j]&&!a1[i]&&!b1[j]){
sum[i][j]=max(sum[i-1][j]+1,sum[i][j-1]+1);
a1[i]=true;
b1[j]=true;
}
else{
sum[i][j]=max(sum[i-1][j],sum[i][j-1]);
}
}
}
int i=n,j=m,t=0;
while(sum[i][j]!=0){
if(a[i]==b[j]){
t++;
e[t]=a[i];
i--;
j--;
}
else if(sum[i][j-1]>sum[i-1][j]){
j--;
}
else{
i--;
}
}
cout<<sum[n][m]<<"\n";
for(int i=t;i>=1;i--){
cout<<e[i]<<" ";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewogICAgaW50IGFbMTAwMDldLG49MCxtPTAsYlsxMDAwOV0sc3VtWzEwMDA5XVsxMDAwOV0sZVsxMDAwOV07CiAgICBzdHJpbmcgcyxjOwogICAgYm9vbCBhMVsxMDAwOV0sYjFbMTAwMDldOwogICAgZ2V0bGluZShjaW4scyk7CiAgICBzKz0nICc7Cglmb3IoaW50IGk9MDtpPHMuc2l6ZSgpO2krKyl7CiAgICAJaWYoc1tpXSE9JyAnKXsKICAgIAkJYys9c1tpXTsKICAgIAl9CiAgICAJZWxzZXsKICAgIAkJbisrOwogICAgCQlhW25dPXN0b2koYyk7CiAgICAJCWM9IiI7CiAgICAJfQogICAgfQogICAgZ2V0bGluZShjaW4scyk7CiAgICBnZXRsaW5lKGNpbixzKTsKICAgIHMrPScgJzsKICAgIGM9IiI7Cglmb3IoaW50IGk9MDtpPHMuc2l6ZSgpO2krKyl7CiAgICAJaWYoc1tpXSE9JyAnKXsKICAgIAkJYys9c1tpXTsKICAgIAl9CiAgICAJZWxzZXsKICAgIAkJbSsrOwogICAgCQliW21dPXN0b2koYyk7CiAgICAJCWM9IiI7CiAgICAJfQogICAgfQogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgCWZvcihpbnQgaj0xO2o8PW07aisrKXsKICAgIAkJaWYoYVtpXT09YltqXSYmIWExW2ldJiYhYjFbal0pewogICAgCQkJc3VtW2ldW2pdPW1heChzdW1baS0xXVtqXSsxLHN1bVtpXVtqLTFdKzEpOwogICAgCQkJYTFbaV09dHJ1ZTsKICAgIAkJCWIxW2pdPXRydWU7CiAgICAJCX0KICAgIAkJZWxzZXsKICAgIAkJCXN1bVtpXVtqXT1tYXgoc3VtW2ktMV1bal0sc3VtW2ldW2otMV0pOwogICAgCQl9CiAgICAJfQogICAgfQogICBpbnQgaT1uLGo9bSx0PTA7CiAgIHdoaWxlKHN1bVtpXVtqXSE9MCl7CgkJaWYoYVtpXT09YltqXSl7CgkJCXQrKzsKCQkJZVt0XT1hW2ldOwoJCQlpLS07CgkJCWotLTsKCQl9CiAgIAkJZWxzZSBpZihzdW1baV1bai0xXT5zdW1baS0xXVtqXSl7CiAgIAkJCWotLTsKICAgCQl9CiAgIAkJZWxzZXsKICAgCQkJaS0tOwogICAJCX0KICAgfQogICBjb3V0PDxzdW1bbl1bbV08PCJcbiI7CiAgIGZvcihpbnQgaT10O2k+PTE7aS0tKXsKICAgCQljb3V0PDxlW2ldPDwiICI7CiAgIH0KfQ==