Welcome to ZOJ
Select Problem
ZOJ Problem Set - 3446
Doraemon's Battle

Time Limit: 2 Seconds      Memory Limit: 65536 KB

Doraemon is fighting with n enemies.

Doraemon has two properties in this battle, HP and SP. HP is the health point of Doraemon with initial value lh. If Doraemon's HP decreased to 0 or lower, Doraemon will lose the battle. SP is a property for using Doraemon's skill with initial value 0, which will be described later. HP has an upper bound lh (its initial value) and SP has an upper bound ls.

Doraemon and his enemies take turns to act. Doraemon acts before his enemies in each turn.

In each turn Doraemon can choose one of the following actions:

  • Kill one enemy and get his SP increased by 1.
  • Heal himself. Doraemon's HP will increase by floor(0.2*lh).
  • Use his skill if SP > 0. His skill will kill D[SP] enemies and reset his SP to 0. D is a sequence of integer which will be described in the input.
  • Do nothing.

Enemies will attack after Doraemon's action. Each enemy will cause one point damage to Doraemon. In the end of each turn, Doraemon get his SP increased by e mod 3 where e is the number of remaining enemies.

Now Doraemon wants to know the minimum number of turns he can kill all enemies.


Input contains multiple cases, process to the end of input.

Each case contains two lines. The first line has three integers, lh (1 ≤ lh ≤ 250), ls (1 ≤ ls ≤ 100) and n. (1 ≤ n ≤ 40)

The following line describes sequence D mentioned in Doraemon's skill. The line contains ls integers, the ith integer refers to D[i] (1 ≤ D[i] ≤ 10).


For each case, output the minimum number of turns needed in a single line. If Doraemon will always lose the battle, print "HELP!" instead.

Sample Input

5 2 4
2 3

Sample Output


Author: WAN, Xinyi
Contest: ZOJ Monthly, December 2010
Submit    Status