自闭
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

对于一场比赛,一共有 个参赛选手和 个题,为了方便我们假设一个提交记录的结果只有 WA 和  AC 两种,我们用以下规则定义一个选手的自闭程度:(以下规则优先级从高到低,如有冲突(例如规则3,6),以编号小的规则为准)。
  1.  如果一个选手没有做出任何提交,则最后他的自闭程度为 998244353
  2.  如果一个选手没有 AC 任何一道题,则最后他的自闭程度为 1000000
  3.  如果一个选手 AC 了所有题,则最后它的自闭程度为 0
  4. 对于一个题,如果该题最后有人通过但这个选手没通过,则这个选手的自闭程度增加 20
  5. 对于一个题,如果至少 个选手 AC 了这个题,但某个选手没通过,则该选手的自闭程度在规则 的基础上再额外增加
  6. 在某个题中,如果该选手连续 WA 了最多 次(也是就该题的某 次连续提交都是 WA),则该选手自闭程度增加
  7. 在某个题中,如果该选手连续 WA 了最多 次且最后没有 AC 这题,则该选手自闭程度再额外增加
现在按时间顺序给出了一场比赛的提交记录,你需要求每个选手的自闭程度。
一些细节:在某道题上,AC 了之后再进行的提交也会被计算入规则 中。

输入描述:

第一行三个整数 ,表示选手数量,题目数量和提交记录数量
接下来 行,每行三个整数 ,描述一条提交记录:选手 交了题目 表示 WA 了, 表示 AC 了。

输出描述:

输出  行,第  行一个整数表示第  个选手的自闭程度。
示例1

输入

复制
4 3 13
1 1 1
1 2 1
1 3 1
2 1 0
2 1 0
2 1 1
2 2 0
3 1 0
3 1 0
3 1 0
3 2 1
3 2 0
3 2 0

输出

复制
0
56
72
998244353