{"raw_statement":[{"iden":"statement","content":"七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。\n\n于是 TYVJ 今年举办了一次线下七夕祭。\n\nVani 同学今年成功邀请到了 cl 同学陪他来共度七夕，于是他们决定去 TYVJ 七夕祭游玩。\n\nTYVJ 七夕祭和 11 区的夏祭的形式很像。\n\n矩形的祭典会场由 $N$ 排 $M$ 列共计 $N \\times M$ 个摊点组成。\n\n虽然摊点种类繁多，不过 cl 只对其中的一部分摊点感兴趣，比如章鱼烧、苹果糖、棉花糖、射的屋……什么的。\n\nVani 预先联系了七夕祭的负责人 zhq，希望能够通过恰当地布置会场，使得各行中 cl 感兴趣的摊点数一样多，并且各列中 cl 感兴趣的摊点数也一样多。\n\n不过 zhq 告诉 Vani，摊点已经随意布置完毕了，如果想满足 cl 的要求，唯一的调整方式就是交换两个相邻的摊点。\n\n两个摊点相邻，当且仅当他们处在同一行或者同一列的相邻位置上。\n\n由于 zhq 率领的 TYVJ 开发小组成功地扭曲了空间，每一行或每一列的第一个位置和最后一个位置也算作相邻。\n\n现在 Vani 想知道他的两个要求最多能满足多少个。\n\n在此前提下，至少需要交换多少次摊点。"},{"iden":"input","content":"第一行包含三个整数 $N$ 和 $M$ 和 $T$，$T$ 表示 cl 对多少个摊点感兴趣。\n\n接下来 $T$ 行，每行两个整数 $x, y$，表示 cl 对处在第 $x$ 行第 $y$ 列的摊点感兴趣。\n"},{"iden":"output","content":"首先输出一个字符串。\n\n如果能满足 Vani 的全部两个要求，输出 `both`；\n\n如果通过调整只能使得各行中 cl 感兴趣的摊点数一样多，输出 `row`；\n\n如果只能使各列中 cl 感兴趣的摊点数一样多，输出 `column`；\n\n如果均不能满足，输出 `impossible`。\n\n如果输出的字符串不是 `impossible`， 接下来输出最小交换次数，与字符串之间用一个空格隔开。"},{"iden":"note","content":"对于 $30\\%$ 的数据，$N,M \\le 100$。\n\n对于 $70\\%$ 的数据，$N,M \\le 1000$。\n\n对于 $100\\%$ 的数据，$1 \\le N,M \\le 100000$，$0 \\le T \\le \\min(N\\times M,100000)$，$1 \\le x \\le N$，$1 \\le y \\le M$。"}],"translated_statement":null,"sample_group":[["2 3 4\n1 3\n2 1\n2 2\n2 3","row 1"],["3 3 3\n1 3\n2 2\n2 3","both 2"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}