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