#include <bits/stdc++.h>
using namespace std;
using Integer = int64_t;
Integer Remainder(Integer radius) { return 3 * radius * (radius - 1); }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  Integer n;
  cin >> n;
  if (n == 0) {
    cout << "0 0" << endl;
    return 0;
  }
  Integer radius = pow(n / 3, 0.5);
  while (Remainder(radius) > n) {
    --radius;
  }
  while (Remainder(radius) <= n) {
    ++radius;
  }
  --radius;
  n -= Remainder(radius);
  if (n == 0) {
    --radius;
  }
  const Integer sector = n / radius;
  const Integer sectorPosition = n % radius;
  Integer x;
  Integer y;
  switch (sector % 3) {
    case 0:
      x = radius;
      y = sectorPosition;
      break;
    case 1:
      x = radius - sectorPosition;
      y = radius;
      break;
    case 2:
      x = -sectorPosition;
      y = radius - sectorPosition;
      break;
  }
  if (sector >= 3) {
    x *= -1;
    y *= -1;
  }
  const Integer convertedX = 2 * x - y;
  const Integer convertedY = 2 * y;
  cout << convertedX << " " << convertedY << endl;
}
