#include /* * @autor:SEU-Yuan * @email:yuanyanghao2022@163.com * @date: 2024-07-25 23:30:36 */ #define pcc pair #define pii pair #define vi vector #define vl vector #define rep(i, x, y) for (int i = x; i < y; i++) #define per(i, x, y) for (int i = x; i >= y; i--) #define rep0(i, n) for (int i = 0; i < (n); i++) #define per0(i, n) for (int i = (n) - 1; i >= 0; i--) #define mp make_pair #define pb push_back #define F first #define S second #define sz(x) (x).size() #define all(x) (x).begin(), (x).end() #define ll long long #define ull unsigned long long #define db double #define ld long double using namespace std; inline ll read() { ll x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar(); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x * f; } const double eps = 1e-9; const int inf = 0x3f3f3f3f; const int mod = 1e9 + 7; const int maxn = 2e5 + 10; const int MAX = 1e5; const double pi = acos(-1.0); const ll INF = 0x3f3f3f3f3f3f3f; ll qpow(ll a, ll b) { ll res = 1; while (b) { if (b & 1) res = (res * a) % mod; a = (a * a) % mod; b >>= 1; } return res % mod; } /***************main****************/ ll T = 1; ll m, n; ll a[maxn]; int main() { cin >> n; ll ans = 0; for (ll i = 1; i * i <= n; i++) { if (n % i == 0) ans += i + n / i; if (i * i == n) ans -= i; } if (ans == (n << 1)) cout << "Yes\n"; else cout << "No\n"; return 0; }