#include <bits/stdc++.h>
using namespace std;
long long i, j, k, n, m, l, x, c[110];
struct node {
  long long l;
  char s[1001];
} a[1001];
char s[1010];
bool cmp(const node& a, const node& b) { return a.l < b.l; }
bool pd(long long x) {
  if (a[x].l != l) return false;
  for (long long i = 1; i <= l; i++)
    if (a[x].s[i] != s[i]) return true;
  return false;
}
long long find(long long x) {
  return x + ((x - 1) / k) * 5;
  long long tot = 0;
  if (x <= k) return x;
  while (x != 0) {
    if (x >= k) {
      x -= k;
      tot += k;
    } else {
      tot += x;
      x = 0;
    }
    if (x > 0) {
      tot += 6;
    }
  }
  return tot;
}
int main() {
  cin >> n >> k;
  for (i = 1; i <= n; i++) {
    scanf("%s", a[i].s + 1);
    a[i].l = strlen(a[i].s + 1);
    c[a[i].l]++;
  }
  for (i = 1; i <= 101; i++) c[i] += c[i - 1];
  sort(a + 1, a + n + 1, cmp);
  scanf("%s", s + 1);
  l = strlen(s + 1);
  x = c[l - 1] + 1;
  cout << find(x) << " ";
  x = 0;
  for (i = 1; i <= n; i++) {
    if (pd(i)) x++;
  }
  x += c[l - 1] + 1;
  cout << find(x);
  return 0;
}
