Điểm:
1
Thời gian:
2.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Có bao nhiêu xâu có thể được tạo thành bằng cách áp dụng thao tác sau trên một xâu \(S\) cho trước đúng \(K\) lần: "chọn một ký tự in thường trong bảng chữ cái tiếng Anh và chèn vào bất cứ đâu trong xâu \(S\)"?
Đáp án có thể rất lớn, nên hãy in kết quả chia lấy dư cho \((10^9+7)\).
Dữ liệu đầu vào
- Dòng đầu tiên chứa một số nguyên \(K\) \((1 \leq K \leq 10^6)\)
- Dòng thứ hai chứa một xâu \(S\) có độ dài dương không quá \(10^6\), chỉ gồm các ký tự trong bảng chữ cái tiếng Anh.
Định dạng đầu ra
- In ra số lượng xâu thỏa mãn đề, chia lấy dư cho \((10^9+7)\).
Ví dụ
Ví dụ 1
Đầu vào
5
oof
Đầu ra
575111451
Giải thích
Ví dụ, chúng ta có thể tạo ra các xâu proofend
, moonwolf
, và onionpuf
; nhưng ta không thể tạo ra xâu oofsix
(quá ngắn), oofelevennn
(quá dài), hay voxafolt
và fooooooo
(không được tạo thành từ xâu oof
).
Ví dụ 2
Đầu vào
37564
whydidyoudesertme
Đầu ra
318008117
Bình luận