카드 구간 뒤집기

1부터 N까지의 순열이 주어질 때, 한 연속 구간을 뒤집은 뒤 제자리에 있는 카드 수가 최대가 되도록 구간을 고르고, 시작 위치가 가장 왼쪽인 것, 그다음 끝 위치가 가장 왼쪽인 것을 출력한다.

보통6배열해시맵구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

마테는 카드 NN장을 한 손에 들고 있다. 카드에는 11부터 NN까지의 번호가 한 번씩 적혀 있고, 손에 든 순서는 이미 정해져 있다. 마테는 스스로 카드 순서를 바꾸지 못한다.

도마고이는 연속한 카드 구간 하나를 가리킨다. 카드 한 장만 가리켜도 되지만, 적어도 한 장은 가리킨다. 마테는 도마고이가 가리킨 구간을 180180도 돌려서 제자리에 놓는다. 구간의 첫 카드와 마지막 카드가 자리를 바꾸고, 두 번째 카드와 뒤에서 두 번째 카드가 자리를 바꾸며, 나머지도 같은 방식으로 자리를 바꾼다. 결국 가리킨 구간이 뒤집힌다.

도마고이는 고정점을 좋아한다. 고정점은 도마고이가 보는 왼쪽부터 센 위치와 적힌 번호가 같은 카드다. 도마고이는 구간을 뒤집은 뒤 고정점 개수가 최대가 되기를 바란다.

도마고이가 가리켜야 할 구간을 구하라.

입력

첫째 줄에 카드의 개수 NN이 주어진다. (1N5000001 \le N \le 500000)

둘째 줄에 도마고이가 보는 왼쪽부터 차례대로 카드에 적힌 번호 NN개가 공백으로 구분되어 주어진다. 11부터 NN까지의 번호가 한 번씩 나온다.

출력

고른 구간의 첫 카드에 적힌 번호 AA와 마지막 카드에 적힌 번호 BB를 이 순서로 한 줄에 출력한다. 구간이 카드 한 장이면 AABB는 같은 번호다.

고정점 개수를 최대로 만드는 구간이 여럿이면, 첫 카드의 위치가 가장 작은 구간을 출력한다. 그런 구간이 여럿 남으면 그중 마지막 카드의 위치가 가장 작은 구간을 출력한다.