CF547A Mike and Frog

题目描述

迈克有一只青蛙和一朵花,它的青蛙叫 Xaniar,花叫 Abol。 开始(时间为 0),它的青蛙高度为 $h_{1}$, 花高度为 $h_{2}$。每一秒,迈克都会给他们两个浇水,因此每过一秒青蛙的高度都会由当前的 $h_{1}$ 变为 $(x_{1}\times h_{1}+ y_{1}) \bmod\ m$, 同理,花的高度都会由当前的 $h_{2}$ 变为 $(x_{2}\times h_{2}+ y_{2}) \bmod\ m$。 已知 $x_{1},y_{1},x_{2},y_{2}$ 都是整数,并且 $a \bmod b$ 表示 $a$ 除以 $b$ 所得的余数。 迈克想知道最少多久后青蛙的高度会变成 $a_{1}$ 花的高度会变成 $a_{2}$。请你计算出最短时间或者告诉迈克这件事根本不会发生。

输入格式

第一行一个整数 $m$,$(2 \le m \le 10^{6})$ 第二行包含两个整数 $h_{1}$ 和 $a_{1}$($0\leq h_{1},a_{1}

输出格式

如果能实现,输出最短时间;否则,输出 $-1$ 即可。

说明/提示

在第一个样例中,身高序列如下: Xaniar:$4\to 0\to 1\to 2$。 Abol:$0\to 3\to 4 \to 1$。