[Noi2012]魔幻棋盘
给定一个 的棋盘,棋盘上的每个位置都有一个整数。棋盘守护者位于第 行、第 列。
你需要依次执行 次操作。操作分为以下两种:
- 询问操作:给定相对于棋盘守护者位置向上、向左、向下、向右扩展的距离,求所得矩形区域内所有数的最大公约数;
- 修改操作:给定一个矩形区域和整数 ,将该区域内的所有数统一加上 。
输入格式
第一行包含两个正整数 ,表示棋盘的大小。
第二行包含两个正整数 ,表示棋盘守护者的位置。
第三行包含一个正整数 ,表示操作次数。
接下来 行,每行包含 个正整数,描述棋盘上各位置的初始数值。
接下来 行,按照时间顺序描述各次操作。每行以数字 或 开头:
- 若开头为 ,则表示询问操作。随后输入四个非负整数 ,询问区域为以棋盘守护者的位置为基准,向上扩展 行、向左扩展 列、向下扩展 行、向右扩展 列得到的矩形区域;
- 若开头为 ,则表示修改操作。随后输入四个正整数 和一个整数 ,表示将第 行至第 行、第 列至第 列构成的矩形区域内的所有数统一加上 。其中, 可能为负数。
输出格式
对于每次询问操作,输出一行一个非负整数,表示询问区域内所有数的最大公约数。
样例输入
2 2
1 1
4
6 12
18 24
0 0 0 1 0
1 1 1 1 2 6
1 2 1 2 2 6
0 0 0 1 1
样例输出
6
6
数据范围
- ;
- ,;
- ;
- ;
- 对于询问操作,保证 、、、;
- 对于修改操作,保证 、;
- 初始棋盘上的数均为不超过 的正整数;
- 修改量满足 ;
- 保证所有操作过程中涉及的棋盘数值、差分值及最大公约数的绝对值均不超过 ,即不会出现绝对值为 的情况。
来源与许可
本题为 NOI 2012 试题「魔幻棋盘」,题面与测试数据整理自 BZOJ。
样例 1
输入
2 2
1 1
4
6 12
18 24
0 0 0 1 0
1 1 1 1 2 6
1 2 1 2 2 6
0 0 0 1 1
输出
6
6