#include <bits/stdc++.h>
using namespace std;
int dir[6][2] = {{1, 2}, {-1, 2}, {-2, 0}, {-1, -2}, {1, -2}, {2, 0}};
int main() {
  long long n;
  cin >> n;
  if (n == 0) {
    cout << "0 0" << endl;
    return 0;
  }
  long long l = 1, r = 1e9;
  while (l < r) {
    long long mid = (l + r) / 2;
    if (3 * mid * mid + 2 * mid >= n)
      r = mid;
    else
      l = mid + 1;
  }
  n -= (3 * (l - 1) * (l - 1) + 2 * (l - 1));
  int d = 0;
  long long x = l - 1, y = -2 * (l - 1);
  while (n) {
    if (d != 1 && n > l) {
      n -= l;
      x += l * dir[d][0];
      y += l * dir[d][1];
      d++;
    } else if (d == 1 && n >= l) {
      n -= l - 1;
      x += (l - 1) * dir[d][0];
      y += (l - 1) * dir[d][1];
      d++;
    } else {
      x += n * dir[d][0];
      y += n * dir[d][1];
      n = 0;
    }
  }
  cout << x << " " << y << endl;
}
