#include <bits/stdc++.h>
#define rep3(i, s, n, a) for (long long i = (s); i < (long long)(n); i += a)
#define rep2(i, s, n) rep3(i, s, n, 1)
#define rep(i, n) rep2(i, 0, n)

using namespace std;
using ll = long long;
using ull = unsigned long long;
using P = pair<int, int>;
using Pll = pair<ll, ll>;

int main() { 
    ll n;
    cin >> n;
    vector<ll> a(n, 0);
    rep(i, n){
        a[i] = i+1;
    }

    ll res = 1;

    rep2(i, 2, 30){
        bool skip=true;
        while(skip){
            skip = false;
            rep(j, n){
                if(a[j]%i==0){
                    skip = true;
                    a[j] /= i;
                }
            }
            if(skip){
                // cout << i << endl;
                res *= i;
            }
        }
    }

    cout << res + 1LL << endl;
    return 0; 
}
#include <cstdio>
#include <cmath>
#include <iostream>
#include <set>
#include <algorithm>
#include <vector>
#include <map>
#include <cassert>
#include <string>
#include <cstring>
#include <queue>

using namespace std;

#define rep(i,a,b) for(int i = a; i < b; i++)
#define S(x) scanf("%d",&x)
#define S2(x,y) scanf("%d%d",&x,&y)
#define P(x) printf("%d\n",x)
#define all(v) v.begin(),v.end()
#define FF first
#define SS second
#define pb push_back
#define mp make_pair

typedef long long int LL;
typedef pair<int, int > pii;
typedef vector<int > vi;

int cnt[100];

int f(int n) {
  int res = 1;
  for(int i = 2; i * i <= n; i++) if(n % i == 0) {
    int c = 0;
    while(n % i == 0) {
      n /= i;
      c++;
      if(c > cnt[i]) {
        cnt[i]++;
        res *= i;
      }
    }
  }
  if(n > 1 && cnt[n] == 0) {
    cnt[n] = 1;
    res *= n;
  }
  return res;
}

int main() {
  int n;
  S(n);
  LL ans = 1;
  rep(i,2,n+1) {
    ans *= f(i);
  }
  cout << ans + 1 << "\n";
  return 0;
}
