Statement
스피키 네르지 마세요!
— 스핔이, 「트릭컬 리바이브」
명의 스피키가 한 줄로 서 있다. 번째 스피키의 키는 이다. 이때, 아래의 네르기 연산을 회 이상 원하는 만큼 할 수 있다.
- 정수 를 선택하여 의 값을 이상 이하의 원하는 정수로 바꾼다.
네르기 연산을 최소 횟수로 사용하여 를 단조증가하는 수열로 만들어보자.
단조증가의 정의
수열 가 을 만족하면 는 단조증가한다.
Input
첫 번째 줄에 정수 이 주어진다.
두 번째 줄에 개의 정수 이 공백을 사이에 두고 주어진다.
Output
첫 번째 줄에 를 단조증가하는 수열로 만들기 위해 필요한 네르기 연산의 최소 횟수를 출력한다.
두 번째 줄에 최소한의 네르기 연산들을 적용한 후의 을 공백을 사이에 두고 출력한다.
답으로 가능한 수열 가 여러 가지일 경우, 그 중 아무 것이나 출력한다.
Samples
예제 1
입력
5
1 3 2 5 4
출력
2
1 2 2 3 4
번째와 번째 스피키에 네르기 연산을 사용하면 된다.
예제 2
입력
3
1 1 1
출력
0
1 1 1