背景

尛焱轟在玩合并果子。。。

描述

尛焱轟有n堆果子,第i堆有i个果子。他每次可以选择两堆合并成一堆,请问他至少需要多少次合并才能使得合并之后,任何若干个堆都不能合并成n+1个果子的堆?

输入格式

一个整数n表示果子的堆数。

输出格式

如果无论如何都不能满足,则输出-1,否则第一行输出一个数x表示最小的合并次数,之后x行每行用空白隔开的两个数a,b,表示把一堆a个果子的堆和一堆b个果子的堆合并。

样例输入

5

样例输出

1
1 4

 

数据范围与约定

1≤n≤1000

样例解释

在样例中,把一堆1和一堆4合并之后,剩下4堆分别是2,3,5,5个.无论如何都无法合并出6个的堆。

来源

原创