CF995E Number Clicker

题目描述

Allen 正在他的手机上玩 Number Clicker 游戏。 他屏幕上初始有一个整数 $u$。每秒钟,他可以按下以下三个按钮中的一个。 1. 使 $u \to u+1 \bmod p$。 2. 使 $u \to u+p-1 \bmod p$。 3. 使 $u \to u^{p-2} \bmod p$。 Allen 想要在最多按 200 次按钮后,使屏幕上的数字变为 $v$。请帮助他实现!

输入格式

输入的第一行包含三个正整数:$u, v, p$($0 \le u, v \le p-1$,$3 \le p \le 10^9 + 9$)。保证 $p$ 是质数。

输出格式

第一行输出一个整数 $\ell$,表示按下按钮的次数。第二行输出 $\ell$ 个整数 $c_1, \dots, c_\ell$,表示每次按下的按钮编号。对于 $1 \le i \le \ell$,$1 \le c_i \le 3$。 可以证明一定存在解。

说明/提示

在第一个样例中,屏幕上的数字变化为 $1 \to 2 \to 3$。 在第二个样例中,屏幕上的数字变化为 $3 \to 2$。 由 ChatGPT 4.1 翻译