#include <bits/stdc++.h>
using namespace std;
long long bee(long long x) { return 3 * x * x + 3 * x + 1; }
long long row(long long x) {
  long double n = 12.0 * x - 3.0;
  n = sqrt(n);
  n = (n - 3) / 6.00;
  long long hex = floor(n);
  if (bee(hex + 1) <= x)
    return hex + 1;
  else
    return hex;
}
int main() {
  long long n;
  cin >> n;
  if (n == 0) {
    cout << "0 0" << endl;
    return 0;
  }
  long long r = row(n);
  n -= bee(r);
  long long beemove[][2] = {{-1, 2}, {-2, 0}, {-1, -2},
                            {1, -2}, {2, 0},  {1, 2}};
  long long x = 2 * r + 1;
  long long y = 2;
  for (int i = 0; i < 6; i++) {
    long long d;
    if (i == 0)
      d = min(n, r);
    else
      d = min(n, r + 1);
    x += beemove[i][0] * d;
    y += beemove[i][1] * d;
    if (n <= 0) break;
    n -= d;
  }
  cout << x << " " << y << endl;
  return 0;
}
