The Little Elephant enjoys recursive functions.

This time he enjoys the sorting function. Let a is a permutation of an integers from 1 to n, inclusive, and ai denotes the i-th element of the permutation. The Little Elephant's recursive function f(x), that sorts the first x permutation's elements, works as follows:

  * If x = 1, exit the function. 
  * Otherwise, call f(x - 1), and then make swap(ax - 1, ax) (swap the x-th and (x - 1)-th elements of a). 



The Little Elephant's teacher believes that this function does not work correctly. But that-be do not get an F, the Little Elephant wants to show the performance of its function. Help him, find a permutation of numbers from 1 to n, such that after performing the Little Elephant's function (that is call f(n)), the permutation will be sorted in ascending order.

Input

A single line contains integer n (1 ≤ n ≤ 1000) — the size of permutation.

Output

In a single line print n distinct integers from 1 to n — the required permutation. Numbers in a line should be separated by spaces.

It is guaranteed that the answer exists.

Examples

Input

1


Output

1 

Input

2


Output

2 1 
#include <bits/stdc++.h>
using namespace std;
struct PT {
  int k, v;
  PT(int tk, int tv) : k(tk), v(tv) {}
};
struct lt {
  inline bool operator()(const PT& lf, const PT& rg) { return (lf.v < rg.v); }
};
int a[1001];
void fx(int x) {
  if (x == 1) return;
  swap(a[x], a[x - 1]);
  fx(x - 1);
}
int main() {
  int n;
  cin >> n;
  for (int r = 1; r <= n; r++) a[r] = r;
  fx(n);
  for (int r = 1; r < n; r++) cout << a[r] << " ";
  cout << a[n] << endl;
  return 0;
}
