Codeforces Round 197 (Div. 2)
E
Three Swaps
Codeforces
2700
原题
← D→
翻译中…

Xenia the horse breeder has $*n*$ $(*n* > 1)$ horses that stand in a row. Each horse has its own unique number. Initially, the $*i*$-th left horse has number $*i*$. That is, the sequence of numbers of horses in a row looks as follows (from left to right): 1, 2, 3, $...$, $*n*$.

翻译中…

Xenia trains horses before the performance. During the practice sessions, she consistently gives them commands. Each command is a pair of numbers $*l*, *r*$ $(1 ≤ *l* < *r* ≤ *n*)$. The command $*l*, *r*$ means that the horses that are on the $*l*$-th, $(*l* + 1)$-th, $(*l* + 2)$-th, $...$, $*r*$-th places from the left must be rearranged. The horses that initially stand on the $*l*$-th and $*r*$-th places will swap. The horses on the $(*l* + 1)$-th and $(*r* - 1)$-th places will swap. The horses on the $(*l* + 2)$-th and $(*r* - 2)$-th places will swap and so on. In other words, the horses that were on the segment $[*l*, *r*]$ change their order to the reverse one.

翻译中…

For example, if Xenia commanded $*l* = 2, *r* = 5$, and the sequence of numbers of horses before the command looked as (2, 1, 3, 4, 5, 6), then after the command the sequence will be (2, 5, 4, 3, 1, 6).

翻译中…

We know that during the practice Xenia gave at most three commands of the described form. You have got the final sequence of numbers of horses by the end of the practice. Find what commands Xenia gave during the practice. Note that you do not need to minimize the number of commands in the solution, find any valid sequence of at most three commands.

翻译中…

Input

翻译中…

The first line contains an integer $*n*$ $(2 ≤ *n* ≤ 1000)$ — the number of horses in the row. The second line contains $*n*$ distinct integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ $(1 ≤ *a*_{*i*} ≤ *n*)$, where $*a*_{*i*}$ is the number of the $*i*$-th left horse in the row after the practice.

翻译中…

Output

翻译中…

The first line should contain integer $*k*$ $(0 ≤ *k* ≤ 3)$ — the number of commads Xenia gave during the practice. In each of the next $*k*$ lines print two integers. In the $*i*$-th line print numbers $*l*_{*i*}, *r*_{*i*}$ $(1 ≤ *l*_{*i*} < *r*_{*i*} ≤ *n*)$ — Xenia's $*i*$-th command during the practice.

翻译中…

It is guaranteed that a solution exists. If there are several solutions, you are allowed to print any of them.

翻译中…

样例

Input #1
5
1 4 3 2 5
Output #1
1
2 4
InputCopy OutputCopy
Input #2
6
2 1 4 3 6 5
Output #2
3
1 2
3 4
5 6
InputCopy OutputCopy
题目信息
题号
339E
时间限制
1 s
内存限制
256 MB
标签
构造
DFS 及类似
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。