CERI2018G - Break a cryptosystem

We denote φ\varphi the Euler's totient function.

The goal of the problem is to crack a message using a simplified RSA cryptosystem.

Here (n,e)(n, e) denotes the public key, and cc a crypted message.

Input

The first line of the input consist of a single integer number t which determines the number of tests.

In each of next t lines there is three integer numbers n, e and c.

Constraints

  • 0 < t ≤ 10 000
  • 0 < n ≤ 100 000 000, is the product of two distinct prime numbers (p, q)
  • 0 < e ≤ 100 000 000, is coprime with φ(n)\varphi(n)
  • 0 ≤ c < n

Output

Print mm such that

  • the result of mem^e modulo nn is equal to cc ;
  • 0m<n0\leq m < n.
That is the decrypted message. You have to break this cryptosystem !

Example

Input:
1
55 7 18

Output:
2

Added by:Francky
Date:2018-05-03
Time limit:1s-20s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All

hide comments
2018-07-12 13:22:30
I think it's good classical problem.
2018-05-07 21:47:07 [Lakshman]
Is it not an easy problem?
=(Francky)=> True, it's not an easy one ; but it might already exists on SPOJ classical. If not, I'll move it to classical ; or create a real 'classical' one.

Last edit: 2018-05-07 22:19:37
2018-05-07 13:23:46 wisfaq
brake(english) means freiner (french)
I think you mean 'break'.
=(Francky)=> Oui, merci beaucoup. Corrigé ;-)

Last edit: 2018-05-07 15:27:26
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.