#include <bits/stdc++.h>
#include <tr1/unordered_map>
typedef long long ll;
typedef unsigned long long ull;
#define clr(ma) memset(ma,-1,sizeof ma)
#define inf 1000000001
#define vi vector<int>
#define pi pair<int,int>
#define T pair<pi ,int >
#define mk make_pair
#define getBit(m,i) ((m&(1<<i))==(1<<i))
#define setBit(m,i) (m|(1<<i))
#define setBit2(m,i) (m|(1ull<<i))
#define cont(i,ma) ((ma.find(i))!=(ma.end()))
#define in(i) scanf("%d",&i)
#define in2(i,j) scanf("%d%d",&i,&j)
#define in3(i,j,k) scanf("%d%d%d",&i,&j,&k)
#define in4(i,j,k,l) scanf("%d%d%d%d",&i,&j,&k,&l)
#define il(i) scanf("%I64d",&i)
#define itr map<ll,ll>::iterator
#define itr2 map<ll,map<ll,ll> >::iterator
#define id(k) scanf("%9lf",&k)
#define fi(ss) freopen (ss,"r",stdin)
#define fo(ss) freopen (ss,"w",stdout)
#define clean(vis) memset(vis,0,sizeof vis)
using namespace std;
struct state {
int len, link;
int c1=0;
map<char,int>next;
};
const int MAXLEN = 100000+5;
struct SA {
state st[MAXLEN * 2];
int fpos [MAXLEN*2];
int sz, last;
void sa_init() {
sz = last = 0;
st[0].len = 0;
st[0].link = -1;
++sz;
}
void sa_extend(char c) {
int cur = sz++;
st[cur].len = st[last].len + 1;
fpos[cur]=st[cur].len - 1;
int p;
for (p = last; p != -1 && !st[p].next.count(c); p = st[p].link)
st[p].next[c] = cur;
if (p == -1)
st[cur].link = 0;
else {
int q = st[p].next[c];
if (st[p].len + 1 == st[q].len)
st[cur].link = q;
else {
int clone = sz++;
st[clone].len = st[p].len + 1;
st[clone].next = st[q].next;
st[clone].link = st[q].link;
fpos[clone]=fpos[q];
for (; p != -1 && st[p].next[c] == q; p = st[p].link)
st[p].next[c] = clone;
st[q].link = st[cur].link = clone;
}
}
last = cur;
}
};
SA *ss;
bool vis [MAXLEN*2];
ll ans=0;
char s[MAXLEN];
int f,len;
int L,H;
void dfs(int cur){
if (vis[cur])return ;
vis[cur]=1;
for (auto it :ss->st[cur].next){
if (it.first=='$')ss->st[cur].c1+=1;
else{
dfs(it.second);
ss->st[cur].c1+=ss->st[it.second].c1;
}
}
if (cur==0)return ;
int l=ss->st[ss->st[cur].link].len+1;
int r=ss->st[cur].len;
if (cur==0 || L>r || H<l)return ;
l=min(H,r);
if (ss->st[cur].c1>f || (ss->st[cur].c1==f && l>len)){
f=ss->st[cur].c1;
len=l;
}
}
int main(){
while (1) {
in2(L, H);
if (H+L==0)break;
ss=new SA();
scanf("%s", s);
len = strlen(s);
ss->sa_init();
for (int i = 0; i < len; i++)ss->sa_extend(s[i]);
ss->sa_extend('$');
f=len=0;
clean(vis);
dfs(0);
printf("%d %d\n",f,len);
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDx0cjEvdW5vcmRlcmVkX21hcD4KdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKI2RlZmluZSBjbHIobWEpIG1lbXNldChtYSwtMSxzaXplb2YgbWEpCiNkZWZpbmUgaW5mIDEwMDAwMDAwMDEKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHBpIHBhaXI8aW50LGludD4KI2RlZmluZSBUIHBhaXI8cGkgLGludCA+CiNkZWZpbmUgbWsgbWFrZV9wYWlyCiNkZWZpbmUgZ2V0Qml0KG0saSkgKChtJigxPDxpKSk9PSgxPDxpKSkKI2RlZmluZSBzZXRCaXQobSxpKSAobXwoMTw8aSkpCiNkZWZpbmUgc2V0Qml0MihtLGkpIChtfCgxdWxsPDxpKSkKI2RlZmluZSBjb250KGksbWEpICgobWEuZmluZChpKSkhPShtYS5lbmQoKSkpCiNkZWZpbmUgaW4oaSkgc2NhbmYoIiVkIiwmaSkKI2RlZmluZSBpbjIoaSxqKSBzY2FuZigiJWQlZCIsJmksJmopCiNkZWZpbmUgaW4zKGksaixrKSBzY2FuZigiJWQlZCVkIiwmaSwmaiwmaykKI2RlZmluZSBpbjQoaSxqLGssbCkgc2NhbmYoIiVkJWQlZCVkIiwmaSwmaiwmaywmbCkKI2RlZmluZSBpbChpKSBzY2FuZigiJUk2NGQiLCZpKQojZGVmaW5lIGl0ciBtYXA8bGwsbGw+OjppdGVyYXRvcgojZGVmaW5lIGl0cjIgbWFwPGxsLG1hcDxsbCxsbD4gPjo6aXRlcmF0b3IKI2RlZmluZSBpZChrKSBzY2FuZigiJTlsZiIsJmspCiNkZWZpbmUgZmkoc3MpIGZyZW9wZW4gKHNzLCJyIixzdGRpbikKI2RlZmluZSBmbyhzcykgZnJlb3BlbiAoc3MsInciLHN0ZG91dCkKI2RlZmluZSBjbGVhbih2aXMpICBtZW1zZXQodmlzLDAsc2l6ZW9mIHZpcykKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IHN0YXRlIHsKICAgIGludCBsZW4sIGxpbms7CiAgICBpbnQgYzE9MDsKICAgIG1hcDxjaGFyLGludD5uZXh0Owp9Owpjb25zdCBpbnQgTUFYTEVOID0gMTAwMDAwKzU7CnN0cnVjdCBTQSB7CiAgICBzdGF0ZSBzdFtNQVhMRU4gKiAyXTsKICAgIGludCBmcG9zIFtNQVhMRU4qMl07CiAgICBpbnQgc3osIGxhc3Q7CgogICAgdm9pZCBzYV9pbml0KCkgewogICAgICAgIHN6ID0gbGFzdCA9IDA7CiAgICAgICAgc3RbMF0ubGVuID0gMDsKICAgICAgICBzdFswXS5saW5rID0gLTE7CiAgICAgICAgKytzejsKICAgIH0KCiAgICB2b2lkIHNhX2V4dGVuZChjaGFyIGMpIHsKICAgICAgICBpbnQgY3VyID0gc3orKzsKICAgICAgICBzdFtjdXJdLmxlbiA9IHN0W2xhc3RdLmxlbiArIDE7CiAgICAgICAgZnBvc1tjdXJdPXN0W2N1cl0ubGVuIC0gMTsKICAgICAgICBpbnQgcDsKICAgICAgICBmb3IgKHAgPSBsYXN0OyBwICE9IC0xICYmICFzdFtwXS5uZXh0LmNvdW50KGMpOyBwID0gc3RbcF0ubGluaykKICAgICAgICAgICAgc3RbcF0ubmV4dFtjXSA9IGN1cjsKICAgICAgICBpZiAocCA9PSAtMSkKICAgICAgICAgICAgc3RbY3VyXS5saW5rID0gMDsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgaW50IHEgPSBzdFtwXS5uZXh0W2NdOwogICAgICAgICAgICBpZiAoc3RbcF0ubGVuICsgMSA9PSBzdFtxXS5sZW4pCiAgICAgICAgICAgICAgICBzdFtjdXJdLmxpbmsgPSBxOwogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGludCBjbG9uZSA9IHN6Kys7CiAgICAgICAgICAgICAgICBzdFtjbG9uZV0ubGVuID0gc3RbcF0ubGVuICsgMTsKICAgICAgICAgICAgICAgIHN0W2Nsb25lXS5uZXh0ID0gc3RbcV0ubmV4dDsKICAgICAgICAgICAgICAgIHN0W2Nsb25lXS5saW5rID0gc3RbcV0ubGluazsKICAgICAgICAgICAgICAgIGZwb3NbY2xvbmVdPWZwb3NbcV07CiAgICAgICAgICAgICAgICBmb3IgKDsgcCAhPSAtMSAmJiBzdFtwXS5uZXh0W2NdID09IHE7IHAgPSBzdFtwXS5saW5rKQogICAgICAgICAgICAgICAgICAgIHN0W3BdLm5leHRbY10gPSBjbG9uZTsKICAgICAgICAgICAgICAgIHN0W3FdLmxpbmsgPSBzdFtjdXJdLmxpbmsgPSBjbG9uZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBsYXN0ID0gY3VyOwogICAgfQp9OwpTQSAqc3M7CmJvb2wgdmlzIFtNQVhMRU4qMl07CmxsIGFucz0wOwpjaGFyIHNbTUFYTEVOXTsKaW50IGYsbGVuOwppbnQgTCxIOwp2b2lkIGRmcyhpbnQgY3VyKXsKICAgIGlmICh2aXNbY3VyXSlyZXR1cm4gOwogICAgdmlzW2N1cl09MTsKICAgIGZvciAoYXV0byBpdCA6c3MtPnN0W2N1cl0ubmV4dCl7CiAgICAgICAgaWYgKGl0LmZpcnN0PT0nJCcpc3MtPnN0W2N1cl0uYzErPTE7CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgZGZzKGl0LnNlY29uZCk7CiAgICAgICAgICAgIHNzLT5zdFtjdXJdLmMxKz1zcy0+c3RbaXQuc2Vjb25kXS5jMTsKICAgICAgICB9CiAgICB9CiAgICAgIGlmIChjdXI9PTApcmV0dXJuIDsKICAgIGludCBsPXNzLT5zdFtzcy0+c3RbY3VyXS5saW5rXS5sZW4rMTsKICAgIGludCByPXNzLT5zdFtjdXJdLmxlbjsKCiAgICBpZiAoY3VyPT0wIHx8IEw+ciB8fCBIPGwpcmV0dXJuIDsKICAgIGw9bWluKEgscik7CiAgICBpZiAoc3MtPnN0W2N1cl0uYzE+ZiB8fCAoc3MtPnN0W2N1cl0uYzE9PWYgJiYgbD5sZW4pKXsKICAgICAgICBmPXNzLT5zdFtjdXJdLmMxOwogICAgICAgIGxlbj1sOwogICAgfQp9CmludCBtYWluKCl7CiAgICB3aGlsZSAoMSkgewogICAgICAgIGluMihMLCBIKTsKICAgICAgICBpZiAoSCtMPT0wKWJyZWFrOwogICAgICAgIHNzPW5ldyBTQSgpOwogICAgICAgIHNjYW5mKCIlcyIsIHMpOwogICAgICAgIGxlbiA9IHN0cmxlbihzKTsKICAgICAgICBzcy0+c2FfaW5pdCgpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyBpKyspc3MtPnNhX2V4dGVuZChzW2ldKTsKICAgICAgICBzcy0+c2FfZXh0ZW5kKCckJyk7CiAgICAgICAgZj1sZW49MDsKICAgICAgICBjbGVhbih2aXMpOwogICAgICAgIGRmcygwKTsKCiAgICAgICAgcHJpbnRmKCIlZCAlZFxuIixmLGxlbik7CiAgICB9Cgp9