#include <bits/stdc++.h>
using namespace std;
string s, st;
int d[300000], pr[300000], n;
void kmp(const string &st) {
  fill(pr, pr + st.length(), 0);
  pr[0] = 0;
  for (int i = 1; i < st.length(); i++) {
    int k = pr[i - 1];
    while (k > 0 && st[i] != st[k]) k = pr[k - 1];
    if (st[i] == st[k]) k++;
    pr[i] = k;
  }
}
int main() {
  getline(cin, s);
  scanf("%d\n", &n);
  fill(d, d + s.length(), s.length());
  for (int i = 0; i < n; i++) {
    getline(cin, st);
    int len = st.length();
    st += '#' + s;
    kmp(st);
    int t = st.length() - s.length();
    for (int j = t; j < st.length(); j++)
      if (pr[j] == len) d[j - t - len + 1] = min(d[j - t - len + 1], j - t);
  }
  int len = 0, ps = 0;
  for (int i = s.length() - 1; i >= 0; i--) {
    if (i + 1 < s.length()) d[i] = min(d[i], d[i + 1]);
    if (d[i] - i > len) {
      len = d[i] - i;
      ps = i;
    }
  }
  printf("%d %d\n", len, ps);
}
