2266 - 【入门】数字游戏
时间限制 : 1 秒
内存限制 : 128 MB
周周拿到了一个不超过 p 的非负整数 n ,他对这个数进行了 m 次操作,每一次操作可能是以下 3 种之一:
+ k ,表示对目前的数加上 k 然后再对 p 取模
- k ,表示对目前的数减去 k 然后再对 p 取模,如果结果为负数,转换成同余的非负数
* k ,表示对目前的数乘上 k 然后再对 p 取模
输入
输入第一行,包含三个整数 n, m, p(0 \leq n < p \leq 10 ^ 9, 1 \leq m \leq 10 ^ 5) 。
接下来 m 行,每行是一个运算符和一个正整数 k(1 \leq k \leq 10 ^ 9),表示这一次的操作,两者之间以一个空格分隔。
输出
输出一行,包含一个整数,表示最后的结果。
样例
输入
3 2 5 + 4 - 8
输出
4
提示
运用模运算的性质计算即可,注意用int可能会溢出,需要long long以及减法需要取模减完再加一次模数再取模避免负数的情况。