递推双关系数列
#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
using ll = long long;
int main(){
IOS;
int n;cin >> n;
/*
long long m[10001]; // 数组:从小到大保存的集合M的元素
//int n; // 查询第n项
int p2; // F2(x)=2x+1的索引指针
int p5; // F5(x)=5x-1的索引指针
//scanf("%d",&n);
m[1]=1;
p2=1;
p5=1;
for(int i=2;i<=n;i++){
int x2=2*m[p2]+1;
int x5=5*m[p5]-1;
if(x2>x5){
m[i]=x5;p5++;
}else if(x2<x5){
m[i]=x2;p2++;
}else{
m[i]=x2;p2++;p5++;
}
}
cout<<m[n]<<'\n';
*/
auto di = [&](int nn){
set<ll> s;
s.insert(1);
ll r = 1;
while(nn--) {
ll x = *s.begin();
s.erase(s.begin());
r = x;
s.insert(2 * x + 1);
s.insert(5 * x - 1);
}
return r;
};
cout << di(n) << '\n';
return 0;
}