不讲武德
题号:NC217237
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
Special Judge, 64bit IO Format: %lld

题目描述

马掌门在研究阴阳互相转化的过程中发明了一种有趣的排序算法,他将这种排序算法命名为混元形意排序法。如果我们用C++实现该算法,可以得到以下的代码。

#define N 100009
int tmp[N];
void change(int arr[], int begin, int end)
{
    if (begin >= end)
        return;
    int mid = (begin + end) / 2, size = 0;
    for (int i = mid + 1; i <= end; ++i)
        tmp[++size] = arr[i];
    for (int i = begin; i <= mid; ++i)
        tmp[++size] = arr[i];
    for (int i = 0; i < size; ++i)
        arr[i + begin] = tmp[i + 1];
}

void sort(int arr[], int begin, int end)
{
    if (begin >= end)
        return;
    int mid = (begin + end) / 2;
    sort(arr, begin, mid);
    sort(arr, mid + 1, end);
    if (arr[begin] > arr[mid + 1])
        change(arr, begin, end);
}
你知道这个算法是错误的,所以你说这个没用,但是他说这个有用,还要让你试试。
他会告诉你一个数字,让你构造一个相应长度的数列给他排序,如果排序完毕后数列中的数不是从小到大排列的,他就会说他大意了,否则他会说他全防出去了,并且一拳打在你鼻子上。
你当然不想被他一拳打在鼻子上,所以你要构造一个数列让他的排序算法出错。

输入描述:

输入共一行,一个整数 ,表示你需要构造的数列长度为 。我们保证对于所有的输入数据均能构造出满足要求的数列。

输出描述:

在一行中输出这个数列,相邻元素以空格隔开。数列中元素必须为不超过  的自然数。
示例1

输入

复制
5

输出

复制
7 5 10 2 9