시도 순서 기록에서 높이별 성공과 실패를 복원하고 동점자 처리 규정에 따라 1위부터 3위까지 번호를 출력합니다.
어려움8시뮬레이션백트래킹아직 제출이 없습니다시간 제한1초메모리 제한256 MB1번부터 N번까지 번호가 붙은 선수 N명이 높이뛰기 경기에 참가한다.
선수는 각 높이에서 세 번까지 시도한다. 선수가 착지 구역을 벗어난 뒤에도 바가 제자리에 남아 있으면 그 시도는 성공이다. 한 높이는 라운드 단위로 진행한다. 한 라운드에서는 현재 높이를 아직 넘지 못했고 탈락하지도 않은 선수가 번호가 작은 순서대로 한 번씩 뛴다. 높이를 넘은 선수는 그 높이에서 더 뛰지 않는다. 한 높이에서 세 번 모두 실패한 선수는 경기에서 탈락한다. 남은 시도를 다음 높이로 넘기거나 높이를 건너뛰거나 시도를 거르는 것은 허용하지 않는다. 바는 모든 선수가 현재 높이를 마친 뒤에 올라가고, 탈락하지 않은 선수는 모든 높이에서 뛴다.
가장 높은 높이를 넘은 선수가 우승한다. 같은 순위에 여러 선수가 몰리면 다음 순서로 가린다.
착지 구역 둘레에 설치한 장치가 뛴 선수의 번호를 모두 기록해서 시도의 순서를 알 수 있다. 기록은 첫 시도부터 마지막 선수가 탈락하는 시도까지 경기 전체를 담는다. 이 기록을 읽고 시상대에 오르는 세 선수를 구하는 프로그램을 작성하시오.
기록과 맞아떨어지는 경기는 적어도 하나 있고, 기록과 맞는 경기를 어느 것으로 골라도 세 자리의 주인은 같다.
첫째 줄에 선수 수 N (3≤N≤1000)과 전체 시도 횟수 M (9≤M≤100000)이 주어진다.
둘째 줄에 장치가 기록한 순서대로 선수 번호 M개가 공백 하나로 구분되어 주어진다.
1위, 2위, 3위 선수의 번호를 공백으로 구분해 한 줄에 출력한다.
첫 번째 예제에서 1번은 첫 시도에, 4번은 두 번째 시도에 첫 높이를 넘고 2번, 3번, 5번은 세 번 모두 실패해 탈락한다. 다음 높이에서는 1번과 4번이 모두 세 번 실패해서 넘은 높이가 같아진다. 두 선수가 함께 넘은 높이에서 1번은 실패가 없고 4번은 한 번 실패했으므로 1번이 우승한다. 3위는 먼저 탈락한 세 명 가운데 번호가 가장 작은 2번이 가져간다.