#include <iostream>
#include <queue>
#include <string>
int main()
{
    int n;
    std::cin >> n;

    std::priority_queue<int, std::vector<int>, std::greater<int>> min;
    std::priority_queue<int> max;
    int midmin = n;
    int midmax = n + 1;
    std::string a = "";
    std::string b = "";
    for (int i = 1; i < n; i++) {
        min.push(i);
    }
    for (int i = n + 2; i <= 2 * n; i++) {
        max.push(i);
    }
    for (int i = 0; i < n - 1; i++) {
        if (i % 2 == 0) {
            a += std::to_string(min.top()) + " ";
            min.pop();
        }
        else {
            a += std::to_string(max.top()) + " ";
            max.pop();
        }
    }
    for (int i = 0; i < n - 1; i++) {
        if (i % 2 == 0) {
            b += std::to_string(max.top()) + " ";
            max.pop();
        }
        else {
            a += std::to_string(min.top()) + " ";
            min.pop();
        }
    }
    if (n % 2 == 0) {
        a += std::to_string(midmax);
        b += std::to_string(midmin);
    }
    else {
        a += std::to_string(midmin);
        b += std::to_string(midmax);
    }

    std::cout << a << "\n" << b;
}