#include <bits/stdc++.h>
using namespace std;
pair<long long, long long> solve(long long n) {
  long long j = 0, cur = 0;
  long long x = 0, y = 0;
  vector<long long> dx = {1, -1, -2, -1, 1, 2};
  vector<long long> dy = {2, 2, 0, -2, -2, 0};
  vector<long long> cnt = {1, 0, 1, 1, 1, 1};
  long long l = -1, r = (long long)1e9;
  while (r - l > 1) {
    long long m = (r + l) / 2;
    if (m * (m * 3 + 2) <= n) {
      l = m;
    } else {
      r = m;
    }
  }
  cur = l * (l * 3 + 2);
  x += l * dx[4];
  y += l * dy[4];
  for (int i = 0; i < 6; i++) {
    cnt[i] += l;
  }
  while (cur < n) {
    long long d = min(cnt[j], n - cur);
    cur += d;
    x += dx[j] * d;
    y += dy[j] * d;
    j = (j + 1) % 6;
  }
  return {x, y};
}
int main() {
  long long n;
  cin >> n;
  auto p = solve(n);
  cout << p.first << " " << p.second << endl;
  return 0;
}
