Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P193SUMJ - Chuyến đi ra biển

Time limit: 1s

Sắp tới là Oppa và Unnie sẽ có một chuyến đi xa ra biển. Để tiết kiệm tiền mua xăng thì Oppa đã nghiên cứu một mẫu xăng sinh học có tên Isobutanol được tạo bởi hoạt động sinh hóa của dòng vi khuẩn Clostriduim cellulolyticum. Trong quá trình nghiên cứu Oppa cần so sánh độ tương đồng của ADN vi khuẩn thực tế và lý tưởng. Cách so sánh như sau:

Với hai chuổi ADN là S, T độ dài n, độ tương đồng của hai chuỗi ADN là số vị trí giống nhau khi so khớp hai xâu shift(S, i) shift(T, j) với (0 ≤ i, j ≤ n – 1).Với shift(S, i) là phép dịch trái i lần của xâu S.

Cho trước một xâu S độ dài n, hỏi có bao nhiêu xâu T cùng độ dài thỏa mãn độ tương đồng là lớn nhất. (Kết quả lấy dư cho 109+7)

Input

Dòng đầu tiên gồm 1 số nguyên n (1 ≤ n ≤ 105) là số độ dài chuỗi. Dòng tiếp theo là n kí tự của xâu S.

Output

Một số nguyên duy nhất là kết quả của bài toán.      

Example

Input

Output

2

AT

4

Giải thích : Có 4 xâu thỏa mãn là AA, AT, TA, TT

Được gửi lên bởi:adm
Ngày:2019-07-27
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.