#P16878. [Ural1561]Winnie the Pooh

[Ural1561]Winnie the Pooh

题目描述

小熊维尼非常喜欢蜂蜜。世界上有许多不同种类的蜂蜜。

对于每一种蜂蜜,维尼吃完一桶所需要的天数是一个正整数;同一种蜂蜜的每一桶都需要相同的天数。

系统中会依次发生以下三类事件。

1. Add

出现一种新的蜂蜜。

新蜂蜜会被赋予当前尚未使用的最小非负编号。因此蜂蜜种类依次编号为

0,1,2,0,1,2,\ldots

除此之外,不会提供关于这种蜂蜜所需天数的任何信息。

2. Learn

维尼通过实验得知:

如果从星期 SS 开始,依次吃:

  • A0A_0 桶第 0 种蜂蜜;
  • A1A_1 桶第 1 种蜂蜜;
  • \ldots
  • AkA_k 桶第 kk 种蜂蜜;

那么全部吃完后的第一个星期几EE

这里 0,1,,k0,1,\ldots,k 都是已经出现的蜂蜜种类,并且

0Ai106.0\le A_i\le 10^6.

3. Eat

维尼计划从星期 SS 开始吃:

  • A0A_0 桶第 0 种蜂蜜;
  • A1A_1 桶第 1 种蜂蜜;
  • \ldots
  • AkA_k 桶第 kk 种蜂蜜。

你需要根据之前所有 Learn 信息,判断他全部吃完后的第一个星期几。

如果无法唯一确定,则输出:

Don't know

如果在此之前的 Learn 信息之间已经出现矛盾,则输出:

Already crazy

输入格式

第一行一个整数 NN,表示事件总数:

0N1000.0\le N\le1000.

接下来 NN 行,每行描述一个事件。

三类事件格式分别为:

Add
Learn A0 A1 A2 ... Ak S E
Eat A0 A1 A2 ... Ak S

其中星期名称只会是:

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

在一个 LearnEat 事件中,会恰好给出当前已经存在的所有蜂蜜种类对应的 AiA_i

输出格式

对于每一个 Eat 事件输出一行。

  • 如果能唯一确定结束星期,输出对应的英文星期名称;
  • 如果有多个可能的星期,输出:
Don't know
  • 如果此前信息已经矛盾,输出:
Already crazy

样例

输入

9
Add
Add
Learn 5 2 Saturday Monday
Eat 3 3 Tuesday
Add
Learn 0 9 4 Friday Thursday
Eat 3 0 6 Sunday
Learn 3 2 10 Saturday Friday
Eat 3 4 11 Monday

输出

Don't know
Saturday
Already crazy

数据范围

  • 0N10000\le N\le1000
  • 0Ai1060\le A_i\le10^6
  • 每种蜂蜜吃一桶所需时间为正整数天。

题目来源

Timus Online Judge 1561 — Winnie the Pooh。

Petrozavodsk Training Camp, September 2007 / Novosibirsk SU Contest。