n, k = map(int, input().split())
pw_list = [len(input()) for _ in range(n)]
pw = len(input())
p = sorted(pw_list)
head = p.index(pw)
tail = n - list(reversed(p)).index(pw) - 1
worst_case = head + ((head)//k)*5 + 1
best_case = tail + (tail//k)*5 + 1
print(worst_case, best_case)
#include<bits/stdc++.h>
using namespace std;
#define int long long int
bool comp(string &a,string &b){
return a.size()<b.size();
}
void h(){
int n,k;cin>>n>>k;
vector<string> a(n);string p;
for(int i=0;i<n;i++) cin>>a[i];
cin>>p;
sort(a.begin(),a.end(),comp);
int ans=0,pre=-1,ct=0,pp=0;
for(int i=0;i<n;i++) if(p==a[i] || p.size()<a[i].size()) pp++;
for(int i=0;i<n;i++){
if(a[i].size()==p.size()){
if(pre==-1){pre=ans+(5*ct)+1;break;}
}else{
ans++;
if(ans%k==0) ct++;
}
}
cout<<pre<<" ";
// ans++;
ans=0;ct=0;
for(int i=0;i<n-pp;i++){
ans++;
if(ans%k==0) ct++;
}
cout<<ans+(ct*5)+1<<endl;
}
signed main(){
// int t;cin>>t;
// while(t--){
h();
// }
}
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |