#include
#include
#include
#include
#include
#include
#define MOD 1000000007
#define ll long long
using namespace std;
string add(string a, string b) {
if(a.size() < b.size()) {
swap(a, b);
}
int i = (int) a.size() - 1, j = (int) b.size() - 1;
string res = "";
int carry = 0;
while(j >= 0) {
int sum = (a[i] - '0') + (b[j] - '0') + carry;
if(sum > 9) {
sum -= 10;
carry = 1;
}
else {
carry = 0;
}
res += (sum + '0');
i--;
j--;
}
while(i >= 0) {
int sum = (a[i] - '0') + carry;
if(sum > 9) {
sum -= 10;
carry = 1;
}
else {
carry = 0;
}
res += (sum + '0');
i--;
}
if(carry == 1) {
res += "1";
}
reverse(res.begin(), res.end());
return res;
}
string multiply(string a, string b) {
int sz_a = (int) a.size();
int sz_b = (int) b.size();
vector v(sz_a + sz_b, 0);
for(int i = sz_a - 1; i >= 0; i--){
for(int j = sz_b - 1; j >= 0; j--) {
v[i + j + 1] += (a[i] - '0') * (b[j] - '0');
}
}
for(int i = sz_a + sz_b - 1; i >= 0; i--) {
if(v[i] > 9) {
v[i - 1] += v[i] / 10;
v[i] %= 10;
}
}
int i = 0;
while(v[i] == 0) {
i++;
}
string res = "";
while(i < sz_a + sz_b) {
res += (v[i] + '0');
i++;
}
if(res == "") {
res = "0";
}
return res;
}
int main() {
int n;
cin >> n;
string sum = "0";
string power_of_two = "1";
for(int i = 0; i < n; i++) {
power_of_two = multiply(power_of_two, "2");
sum = add(sum, power_of_two);
}
cout << sum << endl;
return 0;
}