CSES - HIIT Open 2016 Practice

## HIIT Open 2016 Practice

 Contest start: 2016-05-19 17:00:00 Contest end: 2016-05-28 9:00:00

Kayaks

 Time limit: 1.00 s Memory limit: 128 MB

Uolevi and Maija are sports commentators on a local kayaking competition. They have a live satellite feed of the entire track. Since there are too much teams for our dynamic duo to follow, they asked you to help them. They would like you to write a program that will display current standings team-by-team.

The satellite feed is encoded as a table of $n$ rows $m$ characters each. The first character in each row is the starting line, encoded by the character 'S'. The last character in each row is the finishing line, encoded by 'F'. There are exactly nine kayaks on the image. Each kayak is marked by its number, and each spans exactly three consecutive columns. Water is marked by '.'. Teams are ranked by their distance to the finish line. Smaller is better. If two teams are at the same distance, they share their place (see examples for clarification).

Input

The first line of input contains two space separated integers $n$ and $m$, the number of rows and columns of the encoded satellite image. Each of the following $n$ lines contains exactly $m$ characters '.', 'S', 'F' and digits '1' to '9'. Each row will contain at most one kayak. Each image contains all 9 kayaks.

Output

Output nine lines, one for each kayak. The line $i$ should contain the current rank of the $i^{th}$ team.

Constraints
• $10 \le n,m \le 30$
Examples

Input:
10 10 S.....111F S....222.F S...333..F S..444...F S.555....F S666.....F S.777....F S..888...F S...999..F S........F

Output:
1 2 3 4 5 6 5 4 3

Input:
10 15 S..........222F S.....111.....F S...333.......F S...555.......F S.......444...F S.............F S......777....F S..888........F S........999..F S...666.......F

Output:
5 1 6 3 6 6 4 7 2