SP14890 GOODD - Good Code

题目描述

The Team 的成员们展现他们的编程技艺时刻到了!在你还没来得及说出“Dijkstra”这个名字的时候,他们已经编写出了一段优雅的代码。这个程序由 $N$ 行代码组成(用 $1..N$ 编号),并且仅使用一个初始值为 0 的整数变量 $c$。程序从第 1 行开始执行,程序的每一行 $i$ 都包括以下三种情况之一: 1. `c++;` - 将变量 $c$ 的值加 1。然后,如果当前行号 $i$ 等于 $N$,程序就终止;否则,程序继续到下一行。 2. `x:` - 这一行包含一个标签 $x$,$x$ 是一个满足 $1 \leq x \leq 10^6$ 的整数。在程序中,$x$ 的值不重复。如果 $i = N$,程序终止;否则,程序走到第 $i+1$ 行。 3. `goto x;` - 程序跳转到标记为 $x$ 的那一行,保证该标记在程序中是存在的,其中 $x$ 同样是一个满足 $1 \leq x \leq 10^6$ 的整数。 The Team 虽然对这段程序充满自信,但仍然想确定它是否准确无误。他们设定了一个期望值 $M$($1 \leq M \leq 10^{12}$),希望变量 $c$ 在程序执行过程中能达到。假如程序结束时 $c$ 的值小于 $M$,那表示有问题,程序应被判为 WA(Wrong Answer)。如果程序始终运行且 $c$ 永远无法达到 $M$,则意味着可能出现了超时问题,这种情况应该算作 TLE(Time Limit Exceeded)。在其它正常情况下,The Team 想知道 $c$ 第一次达到 $M$ 时是在哪一行。当然,编写程序的他们瞬间就知道答案了,但你可以吗?

输入格式

第一行输入包含两个整数 $N$ 和 $M$。 接下来的 $N$ 行,每行为程序的第 $i$ 行代码。

输出格式

输出一个整数,表示 $c$ 第一次达到 $M$ 时的行号;或者输出 `WA`,如果程序结束时 $c < M`;如果程序无法结束且 $c$ 达不到 $M$,则输出 `TLE`。

说明/提示

- $1 \leq N \leq 10^6$ - $1 \leq M \leq 10^{12}$ **本翻译由 AI 自动生成**