小Q家里有一个n行m列的棋盘,他在每个格子上放了一个棋子。 现在小Q的心情很糟糕,他打算拿棋子发泄。 小Q会对着棋盘用力吹气,方向只有上下左右四种,每次会使所有棋子同时向气流方向移动一格,移出棋盘的棋子不会再回到棋盘。 小Q想知道每次吹气后棋盘上还剩下多少棋子。
第一行三个正整数n,m,q,表示棋盘规格和小Q的吹气次数。
接下来q行每行一个正整数x,表示吹气的方向。
q行,表示每次吹完气后,棋盘上剩下的棋子个数。
样例输入:
4 5 5
0
3
1
2
1
样例输出:
15
12
12
12
9
样例解释:
第1次吹气所有棋子向上移动1格,第1行的棋子全部移出,还剩3∗5=15个棋子。
第2次吹气所有棋子向左移动1格,3个棋子从左侧移出,还剩3∗4=12个棋子。
1<=n,m,q<=300000
说明:
若使用cin读入,可以在main函数的开头写:ios::sync_with_stdio(false);以提升读入速读,且该程序不要再使用scanf进行输入。
//...
int main(){
ios::sync_with_stdio(false);
//...
return 0;
}