블록 정렬

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

바이트아사르가 아들 바이티에게 11번부터 nn번까지 번호가 붙은 블록을 사 주고, 한 줄로 어떤 순서로 늘어놓았다. 바이티는 블록의 번호가 가장 작은 것부터 가장 큰 것까지 오름차순이 되도록 다시 배열하려고 한다.

바이티가 사용할 수 있는 이동은 다음 두 가지뿐이다.

  • 이동 a: 맨 마지막 블록을 맨 앞으로 옮긴다.
  • 이동 b: 세 번째 블록(현재 33번 위치에 있는 블록)을 맨 앞으로 옮긴다.

이동 b는 블록이 33개 이상일 때만 사용할 수 있다. 처음 배열이 주어질 때, 이 두 이동을 원하는 만큼 사용하여 블록을 오름차순으로 정렬할 수 있는지 판정하여라.

입력

첫째 줄에 정수 nn (1n20001 \le n \le 2000)이 주어진다.

둘째 줄에는 11부터 nn까지의 서로 다른 정수 nn개가 공백 하나로 구분되어 주어지며, 이는 블록의 초기 배열을 왼쪽부터 순서대로 나타낸다.

출력

허용된 이동을 사용하여 블록을 오름차순으로 정렬할 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.