Загрузка данных


#include <iostream>
#include <vector>
using namespace std;
#define PB push_back
typedef vector<int> big;
istream& operator >> (istream& stream, big& a) {
    string s;
    stream >> s;
    for (int i=s.size()-1; i>=0; i--) a.PB(s[i]-'0');
    return stream;
}
ostream& operator << (ostream& stream, big a) {
    for (int i=a.size()-1; i>=0; i--) stream << a[i];
    return stream;
}
bool operator > (big a, big b) {
    if (a.size() > b.size()) return true;
    if (a.size() < b.size()) return false;
    for (int i=a.size()-1; i>=0; i--) {
        if (a[i] > b[i]) return true;
        if (a[i] < b[i]) return false;
    }
    return false;
}
big operator + (big a, big b) {
    big c; int i, r=0;
    for (i=0; i<a.size() or i<b.size(); i++) {
        if (i < a.size()) r+=a[i];
        if (i < b.size()) r+=b[i];
        c.PB(r%10);
        r/=10;
    }
    if (r) c.PB(r);
    return c;
}
big operator - (big a, big b) {
    big c; int i, r=0;
    for (i=0; i<a.size(); i++) {
        r+=a[i];
        if (i < b.size()) r-=b[i];
        if (r<0) {
            c.PB(r+10);
            r=-1;
        }
        else {
            c.PB(r%10);
            r=0;
        }
    }
    while (c.size() > 1 and c.back() == 0) c.pop_back();
    return c;
}
big operator * (big a, int b) {
    big c;
    if (b) {
        long long r=0;
        for (auto e:a) {
            r+=e*b;
            c.PB(r%10);
            r/=10;
        }
        while(r) {
            c.PB(r%10);
            r/=10;
        }
    }
    else c.PB(0);
    return c;
}
int operator % (big a, int b) {
    long long r=0;
    for (int i=a.size()-1; i>=0; i--) {
        r = r*10 + a[i];
        r%=b;
    }
    return r;
}
big operator / (big a, int b) {
    big c; long long r=0;
    for (int i=a.size()-1; i>=0; i--) {
        r=r*10+a[i];
        c.insert(c.begin(), r/b);
        r%=b;
    }
    while(c.size()>1 and c.back()==0) c.pop_back();
    return c;
}
int main() {
    int n; cin >> n;
    big x(1,1);
    while (n) {
        n--;
        x=x*2;
    }
    cout << x;
    return 0;
}