Little E has n cathouses in a line. For each integer height between 1 and 20, there are sufficiently many cats with that height. He should choose n cats to place in these cathouses. Every cathouse should contain exactly one cat. However, these cats have a special habit. For every two different cats with the same height, they can’t bear to live adjacently, and they can’t bear the height of the shortest cat living in the cathouse between them is greater than or equal to theirs.
It’s too hard for Little E to find a scheme to make all the cats living in cathouses satisfied. Can you help him?
Input
The first line contains an integer n (1≤n≤105) — the number of cathouses.
Output
Output n integers in a line. For the i-th integer, output the height of the cat living in the i-th cathouse. Any scheme which can make all the cats living in cathouses satisfied is acceptable.
Examples
Input
1
Output
1
Input
3
Output
1 2 3
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
struct node
{
node *l, *r;
int data;
};
int ans[N], k = 0;
node *creat(int x)
{
node *root;
root = new node;
root->data = x;
if (x == 20)
{
root->l = NULL;
root->r = NULL;
}
else
{
root->l = creat(x + 1);
root->r = creat(x + 1);
}
return root;
}
void zh(node *root)
{
if (k > N) return;
if (root)
{
zh(root->l);
ans[k++] = root->data;
zh(root->r);
}
}
int main()
{
int n;
node *root;
root = creat(1);
zh(root);
cin >> n;
for (int i = 0; i < n; i++)
{
if (i == n - 1)
cout << ans[i] << '\n';
else
cout << ans[i] << ' ';
}
return 0;
}