Rt,Wttttcl
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
const int Maxn=10010;
string pread[Maxn];
string pwrite[Maxn];
int lines;
int time;
inline int min(int a,int b){return a<b?a:b;}
inline int max(int a,int b){return a>b?a:b;}
inline void qread(int x){
int f=1;
char ch=getchar();
x=0;
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<3)+(x<<1)+(ch&15);
ch=getchar();
}
x*=f;
}
inline void qwrite(int x){
if(x<0) putchar('-'),x=-x;
if(x>9) qwrite(x/10);
putchar(x%10+'0');
}
inline int read(){
int cntread=0,cntwrite=0;
string eof="EOF";
for(int i=0;;i++){
getline(cin,pread[i]);
if(pread[i].compare(eof)==0) break;
cntread++;
}
for(int i=0;;i++){
getline(cin,pwrite[i]);
if(pwrite[i].compare(eof)==0) break;
cntwrite++;
}
qread(time);
return min(cntread,cntwrite);
}
inline void clear(){
int len;
for(int i=0;;i++){
len=pwrite[i].size();
for(int j=0;j<len;j++){
if(pwrite[i][j]=='<'&&j) pwrite[i][j]=pwrite[i][j-1]='0';
}
}
}
inline int cnt(){
int ans=0;
int len;
for(int i=0;i<lines;i++){
len=min(pread[i].size(),pwrite[i].size());
for(int j=0;j<len;j++){
if(pread[i][j]==pwrite[i][j]) ans++;
}
}
return ans;
}
int main(){
int res;
lines=read();
clear();
res=cnt();
res=(int)(res*1.0/time+0.5);
qwrite(res);
return 0;
}