E. 奶龙的暗语

Medium

时间限制:1000 ms

内存限制:512 MiB

题面

奶龙设计了一套暗语系统:将暗语编码为 kk 位无符号整数 xx,并随机选取一个 kk 位无符号整数 aa 作为公钥,对暗语加密得 b=axmod2kb = a^x \bmod 2^k。特别地,定义 00=10^0 = 1。 现在 sha7dow 截获了一组加密后的信息 (a,b)(a, b),为了破译这组信息,sha7dow 需要找到最小的非负整数 xx,使得 axb(mod2k)a^x \equiv b \pmod{2^k}。若不存在这样的 xx,输出 1-1。 请你帮助 sha7dow 完成这项任务。

输入格式

输入包含三行:

  • 第一行包含一个整数 kk
  • 第二行包含整数 aa
  • 第三行包含整数 bb

保证 0a,b<2k0 \le a, b < 2^k

输出格式

输出一个整数,即满足条件的最小非负整数 xx。 如果不存在这样的 xx,输出 1-1

样例

输入

16 3 27

输出

3

输入

32 1000000007 1000000009

输出

-1

输入

256 1000000007 998244353

输出

2848032538327458948259820724034570579153141530822034830948462371809044463616

提示

  1. 对于 30%30\% 数据:k20k \leq 20
  2. 对于 60%60\% 数据:k32k \leq 32
  3. 对于 80%80\% 数据:k64k \leq 64
  4. 对于 100%100\% 数据:k4096k \leq 4096