n개의 원소로 이루어진 순열이란 집합 {1, 2, ..., n}에 속하는 서로 다른 수들을 나열한 길이 n의 수열입니다. 예를 들어 수열 2, 1, 4, 5, 3은 원소가 5개인 순열입니다.
이 문제에서는 순열의 가장 긴 증가하는 부분수열에 주목합니다. 위 예시 순열에서 가장 긴 증가하는 부분수열의 길이는 3이며, 그러한 부분수열은 2, 4, 5와 1, 4, 5로 정확히 두 개 있습니다.
가장 긴 증가하는 부분수열 중 어느 하나에라도 속하는 수를 슈퍼수라고 부릅니다. 순열 2, 1, 4, 5, 3에서 슈퍼수는 1, 2, 4, 5이고, 수 3은 슈퍼수가 아닙니다.
주어진 순열에 대해 모든 슈퍼수를 찾는 것이 여러분의 과제입니다.
다음을 수행하는 프로그램을 작성하세요.
입력은 두 줄로 이루어집니다. 첫째 줄에는 정수 n (1≤n≤100000)이 하나 주어집니다. 둘째 줄에는 원소가 n개인 순열을 이루는 n개의 정수가 공백 하나로 구분되어 주어집니다.
출력은 두 줄로 이루어집니다. 첫째 줄에는 입력 순열에 있는 슈퍼수의 개수 m을 출력합니다. 둘째 줄에는 슈퍼수들을 증가하는 순서로 공백 하나로 구분하여 출력합니다.