伟大的卡多尼(Cardoni)是一位魔术大师,他有一副 21 张编号的牌,他用这些牌表演如下魔术:
观众秘密选择一个 1 到 21 之间的数字(包含 1 和 21),随后卡多尼将这 21 张牌面朝上,按行从 1 到 21 依次发成一个 3 列的网格。接着,观众指出所选牌所在的列,魔术师按列收牌,并将观众指出的那一列作为第二列收起(收起其余两列的顺序无关紧要)。收牌时牌面朝上,从每列的第一张牌开始,将后续的牌依次放在之前收起的牌下方。然后,将这些牌从牌堆顶部开始,按行重新发成一个 3 列的网格。此过程重复两次;每次,观众指出的列都是魔术师收起的第二列。经过三次这样的迭代后,卡多尼宣布:“我已经洞察了你的内心;你的牌就在这个阵列的中心。”事实确实如此——所选的牌位于阵列的“中心”(第 4 行,第 2 列)。此外,对于后续任何关于列指示和重新发牌的过程,所选的牌将始终保持在这个稳定的位置。
只要包含秘密数字的列是第二个被收起并重新发牌的列,这个过程无论选择什么数字都总是有效的。
卡多尼希望扩展他的魔术,使用不同数量的牌、行和列,并尝试在观众指出列后,采用不同的收牌顺序。然而,这并不是一个简单的问题。例如,当使用 24 张牌、8 行 3 列,并且总是将观众指出的列作为第二个收起并重新发牌时,数字 5 最终会停在稳定的位置(第 4 行,第 3 列),而数字 20 最终会停在稳定的位置(第 5 行,第 1 列)。此外,这两个位置都不是第 2 列第 4 行或第 5 行的两个“中心”位置之一。而且,卡多尼不确定在牌到达稳定位置之前需要进行多少次“指出列并重新发牌”的过程。
给定牌的行数和列数,请帮助卡多尼设置他的魔术,使得存在一个尽可能靠近中心的唯一稳定位置。
输入格式
输入包含一行,有两个整数 $r$ 和 $c$ ($2 \le r, c \le 10^6$),表示魔术中使用的行数和列数。牌的编号从 1 到 $r \cdot c$,初始时按行递增顺序发牌。
输出格式
输出一行,包含四个整数 $p, i, j$ 和 $s$,其中:
- 观众指出的列应该作为第 $p$ 列被收起;
- 使用该 $p$ 值会导致所有牌最终停在第 $i$ 行第 $j$ 列的稳定位置;
- $s$ 是任何一张牌到达稳定位置所需的最大迭代次数。
$p$ 的值应使得稳定位置 $(i, j)$ 尽可能靠近网格中一个、两个或四个中心位置中的任意一个,其中位置 $(i, j)$ 和 $(i', j')$ 之间的距离为 $|i - i'| + |j - j'|$。如果多个 $p$ 值导致相同的最小距离,则选择最小的那个 $p$。
样例
样例输入 1
7 3
样例输出 1
2 4 2 3
样例输入 2
8 3
样例输出 2
1 1 1 3