Logo
(追記) (追記ここまで)

22075번 - Занимательная криптография 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 256 MB141133.333%

문제

Вася и Петя решили поиграть в шпионов. Вася загадал слово из n строчных английских букв, и сказал Пете, что полиномиальный хеш от этого слова равен x. Ваша задача состоит в том, чтобы помочь Пете узнать, сколько различных слов мог загадать Вася. Так как это число может быть довольно большим, выведите его по модулю 998244353.

Полиномиальный хеш от строки s = a0a1an − 1 — это значение суммы ord(a0)⋅p0 + ord(a1)⋅p1 + ... + ord(an − 1)⋅pn − 1, взятое по модулю m, здесь как ord(c) обозначен порядковый номер символа c в латинском алфавите, например ord(a) = 1, ord(b) = 2, ord(z) = 26.

입력

Первая строка содержит четыре целых числа n, m, p и x (1 ≤ n ≤ 106, 2 ≤ m ≤ 104, 1 ≤ p < m, 0 ≤ x < m).

출력

Выведите одно целое число — число слов, которые мог загадать Вася, взятое по модулю 998244353.

제한

예제 입력 1

1 10 8 7

예제 출력 1

2

힌트

출처

Contest > Russian Code Cup > 2015 > RCC 2015 First Qualification Round E번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /