```

Time Limit: 3000 MS    Memory Limit: 65536 K

Description
Mirko has recently bought a wheel of fortune.
He wrote an uppercase letter of English alphabet
onto each wedge, like this (3rd example test case):

No letter appears twice in the wheel,
and the wheel spins in clockwise direction.
There is a pointer that stays in the same place
while the wheel is spinning (it is pointing to H
in the picture above). When we spin the wheel,
the letter to which the pointer is pointing to
changes accordingly.

Mirko spinned the wheel K times in a row,
and each time he wrote down how many times
the pointed letter changed, and what letter
was pointed to at the end of that spin.

Slavko found that paper, and would like to now what
letters Mirko wrote onto the wedges of the wheel.
Help him determine this, if the total number of
wedges is known.

Input
The first line of input contains integers N (2 ¡Ü N ¡Ü 25),
the number of wedges on the wheel, and K (1 ¡Ü K ¡Ü 100),
the number of spins.

The following K lines contain descriptions Mirko wrote
down for each spin, in order. Each line contains an integer
S (1 ¡Ü S ¡Ü 100), the number of times the pointed letter
changed during that spin, and an uppercase letter at which
pointer stopped.

Output
If there is no wheel that meets the requirements
described, output ¡®!¡¯.

Otherwise, output sequence of letters written
onto the wheel, starting from the pointed letter
at the end of the last spin and proceeding clockwise.
If some letter can¡¯t be determined, output ¡®?¡¯ instead.

Sample Input
3 3
1 A
2 B
3 C

5 6
1 A
2 B
5 B
1 C
2 A
2 B

8 8
4 V
3 I
7 T
7 A
6 R
5 N
1 O
9 H

Sample Output
!
B?A?C
HONITAVR

Source
COCI 2010/2011

```