#define _USE_MATH_DEFINES
#define _CRT_SECURE_NO_WARNINGS
#include "bits/stdc++.h"
#define rep(i,n) for(int i = 0;i < n;i++)
#define REP(i,n,k) for(int i = n;i < k;i++)
#define P(p) cout<<(p)<<endl;
#define pi 3.1415926535
using namespace std;
typedef long long ll;
int dx[] = { 0, 1, 0, -1 };
int dy[] = { -1, 0, 1, 0 };

unsigned long long sttoi(std::string str) {
	unsigned long long ret;
	std::stringstream ss; ss << str;
	ss >> ret;
	return ret;
}

bool isPrime(ll n){
	if (n % 2 == 0)return false;
	for (ll i = 3; i*i <= n; i += 2){
		if (n%i == 0)return false;
	}
	return true;
}

void solve() {
	ll n; cin >> n;
	ll mini = n;
	for (ll i = 3; i*i <= n; i++){
		if (n % i == 0){
			P(i);
			return;
		}
	}
	P((n > 4 && n % 2 == 0) ? n / 2 : n);
}

int main() {
	solve();
	return 0;
}