#43876. n 子棋

n 子棋

暂无测试数据。

小 A 和小 B 在玩 $n$ 子棋, $n$ 子棋游戏的规则是,两人在一个左上角是 $(1,1)$,右下角是 $(n,n)$ 的 $n \times n$ 棋盘中交替落子,只要有一方的 $n$ 个棋子在同一行或者同一列或者同一条对角线上,对方就输了。

游戏由小 A 先手,一共进行了 $m$ 回合,请你来当裁判,帮他们裁定胜负。

游戏结束的条件是:

  • 出现胜负;
  • 所有回合结束。

一旦满足上述任意一个条件,游戏立即结束,后续回合无效

输入格式

第一行两个整数 $n,m$ ,表示棋盘大小和回合数。

接下来 $m$ 行,每行两个数 $x,y$,表示当前轮到的人会在第 $x$ 行第 $y$ 列放一个棋子。

输出格式

输出一行,包含一个整数 $x$ ,表示游戏结束的回合,和一个字符串 $S$ 表示游戏结果,用一个空格隔开。

若小 A 赢了 $S$ 为"milk!";小 B 赢了 $S$ 为"juice!";否则 $S$ 为"drawn!"

数据规模与约定

对于前 $10\%$ 的数据,保证 $n=1$;

对于前 $30\%$ 的数据,保证 $1\leq n \leq 2$;

对于前 $70\%$ 的数据,保证 $1\leq n \leq 50$;

对于前 $90\%$ 的数据,保证 $1\leq n\leq 500$;

对于 $100\%$ 的数据,保证 $1\leq n\leq 10^5, 0\leq m \leq \min(3\times 10^5, n^2)$。

保证最初棋盘是空的且游戏结束前所有操作均合法。

2 4
1 1
2 2
2 1
1 2
3 milk!
5 0
0 drawn!