#include #include using std::cin; using std::cout; const char endl = '\n'; const int N = 1e6 + 5; int t, n, next[N]; std::string s; int main() { std::ios::sync_with_stdio(false); while (cin >> n, n) { cout << "Test case #" << ++t << endl; cin >> s; s = ' ' + s; next[1] = 0; for (int i = 2, j = 0; i <= n; i++) { while (j && s[i] != s[j + 1]) j = next[j]; if (s[i] == s[j + 1]) j++; next[i] = j; } for (int i = 2; i <= n; i++) { int len = i - next[i]; if (i % len == 0 && i / len > 1) { cout << i << ' ' << i / len << endl; } } cout << endl; } return 0; }