#5549. [PA2019]Osady i warownie 2

内存限制:512 MiB 时间限制:60 Sec

题目描述

n*m的网格,从上到下依次为第0到n-1行,从左到右依次为第0到m-1列,每个点都不是障碍格。
定义一条从起点(0,0)到终点(n-1,m-1)的路径是合法的,当且仅当这条路径经过恰好n+m-1个格子(包括起点和终点),且每一步要么往右走一格,要么往下走一格。当然,这条路径不能经过障碍格(包括起点和终点)。
你有一个int变量v=0,你现在需要模拟k次操作,每次操作会给出三个非负整数r,c,z,令x=(r xor v)%n,y=(c xor v)%m:
1. 如果(x,y)是障碍格,那么忽略这次操作,输出NIE。
2. 否则如果将(x,y)变成障碍格后仍然存在合法路径,那么将(x,y)变成障碍格,输出NIE。
3. 否则如果将(x,y)变成障碍格后不存在合法路径,那么输出TAK,并将v修改为v xor z。

输入格式

第一行三个正整数n,m,k(2<=n,m<=100000,1<=k<=1000000)。
接下来k行,每行三个非负整数r,c,z(0<=r,c,z<2^20)。

输出格式

对于每个操作输出一行TAK或NIE。

样例

样例输入


			
3 5 7
0 1 123
1 0 0
4 8 0
2 2 16
2 3 0
18 19 17
3 0 0

样例输出


			
NIE
TAK
NIE
TAK
NIE
TAK
NIE

数据范围与提示