#include <stdlib.h>
#include<string.h>
#include<math.h>
char ch[1005][10005];
char str[1005][10005];
char kongstr[1005][10005];
char kongch[1005][10005];
int count = 0;
int main()
{
int n = 0;
int a;
do
{
gets(ch[n]);
a = strcmp(ch[n], "EOF");
n++;
}
while (a != 0);
int m = n;
n = 0;
do
{
gets(str[n]);
a = strcmp(str[n], "EOF");
n++;
}
while (a != 0);
int count = 0;
for (int i = 0; i < n - 1; i++)
{
int flag;
int sum;
int sz = strlen(str[i]);
for (int j = 0; j < sz; j++)
{
sum = 0;
flag = 0;
if (str[i][j] != '<')
{
kongstr[i][j] = str[i][j];
}
while (str[i][j] == '<')
{
j++;
sum++;
flag = 1;
}
if (flag == 1)
{
j--;
for (int k = j; k >= j - 2 * sum+1; k--)
{
kongstr[i][k] = 1;
if (k == 0)
{
break;
}
}
}
}
int szz = strlen(ch[i]);
for (int j = 0; j < szz; j++)
{
flag = 0;
sum = 0;
if (ch[i][j] != '<')
{
kongch[i][j] = ch[i][j];
}
while (ch[i][j] == '<')
{
j++;
sum++;
flag = 1;
}
if (flag == 1)
{
j--;
for (int k = j; k >= j - 2 * sum+1; k--)
{
kongch[i][k] = 1;
if (k == 0)
{
break;
}
}
}
}
}
for (int i = 0; i < n - 1; i++)
{
int sz = strlen(kongstr[i]);
int k = 0;
for (int j = 0; j < sz;)
{
if (kongch[i][k] == kongstr[i][j] && kongch[i][k] !=1)
{
k++;
j++;
count++;
}
while (kongch[i][k] == 1)
{
k++;
}
while (kongstr[i][j] == 1)
{
j++;
}
if (kongch[i][k] != kongstr[i][j] && kongch[i][k] != 1 && kongstr[i][j] !=1)
{
k++;
j++;
}
}
}
int time;
scanf("%d", &time);
double zuihou=(double)count * 60 / time;
if(zuihou+0.5>=count * 60 / time+1)
{
printf("%d", count * 60 / time+1);
}
else
{
printf("%d", count * 60 / time);
}
}