2266 - 【入门】数字游戏

通过次数

4

提交次数

4

Time Limit : 1 秒
Memory Limit : 128 MB

周周拿到了一个不超过 p 的非负整数 n ,他对这个数进行了 m 次操作,每一次操作可能是以下 3 种之一:

  • + k ,表示对目前的数加上 k 然后再对 p 取模

  • - k ,表示对目前的数减去 k 然后再对 p 取模,如果结果为负数,转换成同余的非负数

  • * k ,表示对目前的数乘上 k 然后再对 p 取模

Input

输入第一行,包含三个整数 n, m, p(0 \leq n < p \leq 10 ^ 9, 1 \leq m \leq 10 ^ 5)

接下来 m 行,每行是一个运算符和一个正整数 k(1 \leq k \leq 10 ^ 9),表示这一次的操作,两者之间以一个空格分隔。

Output

输出一行,包含一个整数,表示最后的结果。

Examples

Input

3 2 5
+ 4
- 8

Output

4

Hint

运用模运算的性质计算即可,注意用int可能会溢出,需要long long以及减法需要取模减完再加一次模数再取模避免负数的情况。