#include <bits/stdc++.h>
const int mod = 987654321;
using namespace std;
long long n, m, k, T, l, r = 1;
void no(int p = -1) {
  cout << "NO"
       << "\n";
  exit(0);
}
long long binpow(long long zx, long long step) {
  long long extent = 1;
  while (step) {
    if (step & 1) extent *= zx;
    zx *= zx;
    step >>= 1;
  }
  return extent;
}
void makeprime(int limit) {
  vector<bool> prime(limit + 1, true);
  prime[0] = prime[1] = false;
  for (int i = 2; i <= limit; i++)
    if (prime[i])
      if (i * 1ll * i <= limit)
        for (int j = i * i; j <= limit; j += i) prime[j] = false;
}
struct duo {
  int x, y;
};
struct trio {
  int x, y, z;
};
int max(int x, int y, int z) { return max(x, max(y, z)); }
int min(int x, int y, int z) { return min(x, min(y, z)); }
long long fac(long long x) {
  int res = 1;
  for (int i = 2; i <= x; i++) res *= i;
  return res;
}
int gcd(int x, int y) { return (x ? gcd(y % x, x) : y); }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  if (n % 2 == 0) no();
  if (n == 1 || n == 3) no();
  cout << "1 " << (n - 3) / 2;
}
