#include <bits/stdc++.h>
using namespace std;
#define mod 1000000000
#define ll long long
ll f[25][25], g[25][25];
int main() {
int n;cin>>n;
for(int i=0;i<25;i++)for(int j=0;j<25;j++)f[i][j]=1LL;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(__gcd(i,j)==1){
for(int l=i;l>=1;l--)
{
for(int r=j;r<=n;r++)f[l][r]<<=1, f[l][r]%=mod;
}}
}
}
for(int i=1;i<=n;i++)g[i][i]=1;
for(int l=1;l<=n;l++)
{
for(int x=1;x+l<=n;x++)
{
int r=x+l;
g[x][r] = f[x][r];
for(int k=x;k<r;k++)
{
g[x][r] -= (g[x][k]*f[k+1][r])%mod;
g[x][r] = (g[x][r]+mod)%mod;
}
}
}
cout<<g[1][n]<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIG1vZCAxMDAwMDAwMDAwCiNkZWZpbmUgbGwgbG9uZyBsb25nCgpsbCBmWzI1XVsyNV0sIGdbMjVdWzI1XTsKCmludCBtYWluKCkgewogICBpbnQgbjtjaW4+Pm47CiAgIAogICBmb3IoaW50IGk9MDtpPDI1O2krKylmb3IoaW50IGo9MDtqPDI1O2orKylmW2ldW2pdPTFMTDsKICAgCiAgIGZvcihpbnQgaT0xO2k8PW47aSsrKQogICB7CiAgIAlmb3IoaW50IGo9aSsxO2o8PW47aisrKQogICAJewogICAJCWlmKF9fZ2NkKGksaik9PTEpewogICAJCWZvcihpbnQgbD1pO2w+PTE7bC0tKQogICAJCXsKICAgCQkJZm9yKGludCByPWo7cjw9bjtyKyspZltsXVtyXTw8PTEsIGZbbF1bcl0lPW1vZDsKICAgCQl9fQogICAJfQogICB9CiAgIAogICAKICAgCgogICBmb3IoaW50IGk9MTtpPD1uO2krKylnW2ldW2ldPTE7CiAgIAogICBmb3IoaW50IGw9MTtsPD1uO2wrKykKICAgewogICAgICAgZm9yKGludCB4PTE7eCtsPD1uO3grKykKICAgICAgIHsKICAgICAgICAgICBpbnQgcj14K2w7CiAgICAgICAgICAgZ1t4XVtyXSA9IGZbeF1bcl07CiAgICAgICAgICAgCiAgICAgICAgICAgZm9yKGludCBrPXg7azxyO2srKykKICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGdbeF1bcl0gLT0gKGdbeF1ba10qZltrKzFdW3JdKSVtb2Q7CiAgICAgICAgICAgICAgIGdbeF1bcl0gPSAoZ1t4XVtyXSttb2QpJW1vZDsKICAgICAgICAgICB9CiAgICAgICB9CiAgIH0KICAgCiAgIAogICAKICAgY291dDw8Z1sxXVtuXTw8ZW5kbDsKICAgCiAgIAogICAKICAgCiAgIAogICAKfQ==