Tạo xâu

Xem PDF

Nộp bài


Điểm: 15 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Nhập vào xâu ký tự \(S\) gồm các chữ cái tiếng anh viết thường (lowercase English letters). Hãy đếm xem có bao nhiêu xâu khác nhau có thể tạo ra bằng cách chèn \(k\) chữ cái tiếng anh viết thường vào xâu \(S\). Chú ý, thứ tự của các chữ cái ban đầu của \(S\) không được thay đổi. Các chữ cái được chèn thêm có thể nằm giữa, đầu, hoặc cuối các chữ cái của xâu \(S\). Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của nó khi chia cho \(10^9+7\).

Input

  • Dòng thứ nhất chứa số nguyên dương \(K\);
  • Dòng thứ hai chứa xâu ký tự \(S\).

Output

  • In ra số dư của kết quả khi cho cho \(10^9+7\).

Ví dụ

Sample input 1
5
aab
Sample output 1
575111451

Ví dụ một số xâu có thể tạo ra: vwxyzaab, mnapqarb, aaghibjk, aabaabab


Sample input 2
180320
bruteforce
Sample output 2
796476410

Ràng buộc

  • \(1\leq k\leq10^6\);
  • \(1\leq |S|\leq10^6\).