/**
* /\_/\
* (= ._.)
* / >01<\
*
*/
#include<bits/stdc++.h>
#define task ""
#define ii pair<int, int>
#define ll long long
#define ld long double
#define fi first
#define se second
#define faster ios_base::sync_with_stdio(NULL); cin.tie(NULL);
#define F if(fopen(task".inp","r")){ freopen(task".inp","r",stdin); freopen(task".out","w",stdout); }
using namespace std;
const int Q = 1e6 + 21;
const int N = 1e3 + 21;
const int LOG = 20;
const int mod = 1e9 + 7;
const int inf = 1e9 + 7;
const int dx[] = {0, 0, 1, -1};
const int dy[] = {1, -1, 0, 0};
int n;
int d[Q];
const int p[5] = {1, 10, 100, 1000, 10000};
int dif[5][10][2];
int cnt[Q];
void init()
{
for(int i = 0; i < 5; i++)
{
for(int c = 0; c < 10; c++)
{
dif[i][c][0] = (c == 9 ? -9 * p[i] : p[i]);
dif[i][c][1] = (c == 0 ? 9 * p[i] : -p[i]);
}
}
}
void solve()
{
cin >> n;
init();
for(int i = 0; i <= 1e6; i++)
d[i] = 26;
queue<int> q;
int ans = 25;
for(int i = 1; i <= n; i++)
{
string key;
cin >> key;
int s = 0;
for(int i = 0; i < 5; i++)
s = s * 10 + (key[i] - '0');
cnt[d[s]]--;
cnt[0]++;
d[s] = 0;
q.push(s);
while(q.size())
{
int u = q.front();
q.pop();
int temp = u;
for(int i = 0; i < 5; i++)
{
int c = temp % 10;
temp /= 10;
for(int dir = 0; dir < 2; dir++)
{
int v = u + dif[i][c][dir];
if(d[v] > d[u] + 1)
{
cnt[d[v]]--;
d[v] = d[u] + 1;
q.push(v);
cnt[d[v]]++;
}
}
}
}
while(ans > 0 && cnt[ans] == 0)
ans--;
cout << ans << " " << cnt[ans];
cout << '\n';
}
}
signed main()
{
faster;
F;
int test = 1;
// cin >> test;
while(test--)
{
solve();
}
cerr << "Time elapsed: " << (1.0 * clock() / CLOCKS_PER_SEC) << " s.\n";
return 0;
}
LyoqCiAqICAgL1xfL1wKICogICg9IC5fLikKICogIC8gPjAxPFwKICoKKi8KCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgdGFzayAiIgojZGVmaW5lIGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGZhc3RlciBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKE5VTEwpOyBjaW4udGllKE5VTEwpOwojZGVmaW5lIEYgaWYoZm9wZW4odGFzayIuaW5wIiwiciIpKXsgZnJlb3Blbih0YXNrIi5pbnAiLCJyIixzdGRpbik7IGZyZW9wZW4odGFzayIub3V0IiwidyIsc3Rkb3V0KTsgfQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IFEgPSAxZTYgKyAyMTsKY29uc3QgaW50IE4gPSAxZTMgKyAyMTsKY29uc3QgaW50IExPRyA9IDIwOwpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKY29uc3QgaW50IGluZiA9IDFlOSArIDc7CmNvbnN0IGludCBkeFtdID0gezAsIDAsIDEsIC0xfTsKY29uc3QgaW50IGR5W10gPSB7MSwgLTEsIDAsIDB9OwoKaW50IG47CmludCBkW1FdOwoKY29uc3QgaW50IHBbNV0gPSB7MSwgMTAsIDEwMCwgMTAwMCwgMTAwMDB9OwppbnQgZGlmWzVdWzEwXVsyXTsKCmludCBjbnRbUV07Cgp2b2lkIGluaXQoKQp7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgNTsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgYyA9IDA7IGMgPCAxMDsgYysrKQogICAgICAgIHsKICAgICAgICAgICAgZGlmW2ldW2NdWzBdID0gKGMgPT0gOSA/IC05ICogcFtpXSA6IHBbaV0pOwogICAgICAgICAgICBkaWZbaV1bY11bMV0gPSAoYyA9PSAwID8gOSAqIHBbaV0gOiAtcFtpXSk7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHNvbHZlKCkKewogICAgY2luID4+IG47CgogICAgaW5pdCgpOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPD0gMWU2OyBpKyspCiAgICAgICAgZFtpXSA9IDI2OwoKICAgIHF1ZXVlPGludD4gcTsKCiAgICBpbnQgYW5zID0gMjU7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgc3RyaW5nIGtleTsKICAgICAgICBjaW4gPj4ga2V5OwoKICAgICAgICBpbnQgcyA9IDA7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IDU7IGkrKykKICAgICAgICAgICAgcyA9IHMgKiAxMCArIChrZXlbaV0gLSAnMCcpOwoKICAgICAgICBjbnRbZFtzXV0tLTsKICAgICAgICBjbnRbMF0rKzsKCiAgICAgICAgZFtzXSA9IDA7CgogICAgICAgIHEucHVzaChzKTsKCiAgICAgICAgd2hpbGUocS5zaXplKCkpCiAgICAgICAgewogICAgICAgICAgICBpbnQgdSA9IHEuZnJvbnQoKTsKICAgICAgICAgICAgcS5wb3AoKTsKCiAgICAgICAgICAgIGludCB0ZW1wID0gdTsKCiAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCA1OyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBjID0gdGVtcCAlIDEwOwogICAgICAgICAgICAgICAgdGVtcCAvPSAxMDsKCiAgICAgICAgICAgICAgICBmb3IoaW50IGRpciA9IDA7IGRpciA8IDI7IGRpcisrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGludCB2ID0gdSArIGRpZltpXVtjXVtkaXJdOwoKICAgICAgICAgICAgICAgICAgICBpZihkW3ZdID4gZFt1XSArIDEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjbnRbZFt2XV0tLTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGRbdl0gPSBkW3VdICsgMTsKICAgICAgICAgICAgICAgICAgICAgICAgcS5wdXNoKHYpOwoKICAgICAgICAgICAgICAgICAgICAgICAgY250W2Rbdl1dKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3aGlsZShhbnMgPiAwICYmIGNudFthbnNdID09IDApCiAgICAgICAgICAgIGFucy0tOwoKICAgICAgICBjb3V0IDw8IGFucyA8PCAiICIgPDwgY250W2Fuc107CiAgICAgICAgY291dCA8PCAnXG4nOwogICAgfQp9CgpzaWduZWQgbWFpbigpCnsKICAgIGZhc3RlcjsKICAgIEY7CgogICAgaW50IHRlc3QgPSAxOwoKLy8gICAgY2luID4+IHRlc3Q7CgogICAgd2hpbGUodGVzdC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9CgogICAgY2VyciA8PCAiVGltZSBlbGFwc2VkOiAiIDw8ICgxLjAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMpIDw8ICIgcy5cbiI7CgogICAgcmV0dXJuIDA7Cn0KCg==