CF1184A3.Heidi Learns Hashing (Hard)

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Now Heidi is ready to crack Madame Kovarian's hashing function.

Madame Kovarian has a very strict set of rules for name changes. Two names can be interchanged only if using the following hashing function on them results in a collision. However, the hashing function is parametrized, so one can always find a set of parameters that causes such a collision. Heidi decided to exploit this to her advantage.

Given two strings w1w_1 , w2w_2 of equal length nn consisting of lowercase English letters and an integer mm .

Consider the standard polynomial hashing function:

Hp(w):=(i=0w1wiri)modpH_p(w) := \left( \sum_{i=0}^{|w|-1} w_i r^i \right) \bmod p

where pp is some prime, and rr is some number such that 2rp22\leq r \leq p-2 .

The goal is to find rr and a prime pp ( mp109m \leq p \leq 10^9 ) such that Hp(w1)=Hp(w2)H_p(w_1) = H_p(w_2) .

Strings w1w_1 and w2w_2 are sampled independently at random from all strings of length nn over lowercase English letters.

输入格式

The first line contains two integers nn and mm ( 10n10510 \le n \le 10^5 , 2m1052 \le m \le 10^5 ).

The second and the third line, respectively, contain the words w1w_1 , w2w_2 that were sampled independently at random from all strings of length nn over lowercase English letters.

输出格式

Output integers p,rp, r .

pp should be a prime in the range [m,109][m, 10^9] and rr should be an integer satisfying r[2,p2]r\in [2,p-2] .

At least one solution is guaranteed to exist. In case multiple solutions exist, print any of them.

输入输出样例

  • 输入#1

    10 5
    bgcbaaaaaa
    cccaaaaaaa
    

    输出#1

    5 2
  • 输入#2

    10 100
    melodypond
    riversongg
    

    输出#2

    118219 79724
    

说明/提示

In the first example, note that even though p=3p=3 and r=2r=2 also causes a colision of hashes, it is not a correct solution, since mm is 55 and thus we want p5p\geq 5 .

In the second example, we are aware of the extra 'g' at the end. We just didn't realize that "River Song" and "Melody Pond" have different lengths...

首页