#include
#include <bits/stdc++.h>
using namespace std;
int dp[100][100][100]={-1};
int countsub(int a[],int b[],int i,int j,int n,int m,int count,int k){
if(i==n||j==m){
return 0;
}
if(dp[i][j][k]!=-1){
return dp[i][j][k];
}
int t=0;;
if(a[i]==b[j]){
t=1+(countsub(a,b,i+1,j+1,n,m,count+1,k));
}
else if(k>0){
t=max(t,max(1+countsub(a,b,i+1,j+1,n,m,count+1,k-1),max(countsub(a,b,i+1,j,n,m,count,k),countsub(a,b,i,j+1,n,m,count,k))));
}
else{
t=max(t,max (countsub(a,b,i+1,j,n,m,count,k),countsub(a,b,i,j+1,n,m,count,k)));
}
dp[i][j][k]=t;
}
int main(){
int n,m,k;
cin>>n>>m>>k;
int a[n];
int b[m];
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<m;i++){
cin>>b[i];
}
int count=0;
cout<<countsub(a,b,0,0,n,m,count,k);
}