#57232. 蒜头君的密钥

蒜头君的密钥

暂无测试数据。

随着信息化和数字化社会的发展,人们对信息安全的重要性认识不断提高,网络信息安全越来越受到重视。

其实在网络中相互传递的各种数据,大部分都是经过加密算法处理过的。数据加密的过程:密文 = (明文 + 密钥)经过 加密算法 处理得来的。

蒜头君和花椰妹最近正在学习加密算法,花椰妹刚刚想到一个小写英文字母的加密算法,形式为:$y = (ax + b) \% 26 + 'a'$

其中:

  • $x = c - 'a'$,$c$ 为未加密小写英文字母(也就是明文);
  • $y$ 为加密后小写英文字母(也就是密文);
  • $a,b(1\leq a, b \leq 1000)$ 为正整数(密钥)。

例如:$a=1,b=1$ 时,若明文中一个字母 c = 'b',则 x = c - 'a' = 'b' - 'a' = 1,所以 y = (1 * 1 + 1) % 26 + 'a' = 'c'。则 c = 'b' 经过加密后得到的密文为 'c'

现在花椰妹告诉蒜头君每一个小写字母对应的密文信息,想要让蒜头君求出密钥 $a,b$。

$a,b$ 可能有多种组合答案,答案优先保证 $a$ 最小,然后保证 $b$ 最小。

假设(不保证 $a_i,b_i$ 为合法组合,只是为说明 $a,b$ 的优先级): $a_1 = 1, b_1 = 4$ 和 $a_2 = 2, b_2 = 3$,此时的正确答案为 $a = 1, b = 4$。

输入格式

输入共一行一个长度为 $26$ 的小写英文字符串,第 $i(0 \leq i \leq 25)$ 个字母代表字母 $c = i + 'a'$ 的密文信息,其中 $'a'$ 为小写字母 ‘a’

输出格式

输出共一行,两个以空格隔开的正整数 $a,b$。

$a,b$ 可能有多种组合答案,答案优先保证 $a$ 最小,然后保证 $b$ 最小。

数据保证题目一对定有解,且 $1\leq a, b \leq 1000$。

bcdefghijklmnopqrstuvwxyza
1 1