순열의 슈퍼수

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

문제

nn개의 원소로 이루어진 순열이란 집합 {1, 2, ..., nn}에 속하는 서로 다른 수들을 나열한 길이 nn의 수열입니다. 예를 들어 수열 2, 1, 4, 5, 3은 원소가 5개인 순열입니다.

이 문제에서는 순열의 가장 긴 증가하는 부분수열에 주목합니다. 위 예시 순열에서 가장 긴 증가하는 부분수열의 길이는 3이며, 그러한 부분수열은 2, 4, 5와 1, 4, 5로 정확히 두 개 있습니다.

가장 긴 증가하는 부분수열 중 어느 하나에라도 속하는 수를 슈퍼수라고 부릅니다. 순열 2, 1, 4, 5, 3에서 슈퍼수는 1, 2, 4, 5이고, 수 3은 슈퍼수가 아닙니다.

주어진 순열에 대해 모든 슈퍼수를 찾는 것이 여러분의 과제입니다.

다음을 수행하는 프로그램을 작성하세요.

  • 표준 입력에서 순열을 읽어 들이고,
  • 모든 슈퍼수를 찾은 뒤,
  • 찾은 슈퍼수를 표준 출력에 출력합니다.

입력

입력은 두 줄로 이루어집니다. 첫째 줄에는 정수 nn (1n1000001 \le n \le 100000)이 하나 주어집니다. 둘째 줄에는 원소가 nn개인 순열을 이루는 nn개의 정수가 공백 하나로 구분되어 주어집니다.

출력

출력은 두 줄로 이루어집니다. 첫째 줄에는 입력 순열에 있는 슈퍼수의 개수 mm을 출력합니다. 둘째 줄에는 슈퍼수들을 증가하는 순서로 공백 하나로 구분하여 출력합니다.