#include <bits/stdc++.h>
using namespace std;
unsigned long long fib[48];
int nFib;
unsigned long long generate() {
  fib[0] = 0;
  fib[1] = 1;
  for (int i = 2; i < 48; ++i) fib[i] = fib[i - 1] + fib[i - 2];
  return fib[48 - 1];
}
int main(void) {
  generate();
  unsigned long long n;
  cin >> n;
  unsigned long long* p = upper_bound(fib, fib + 48, n) - 1;
  if (p - 4 >= fib)
    cout << *(p - 4) << " " << *(p - 3) << " " << *(p - 1) << endl;
  else
    cout << "0 0 " << *p << endl;
  return EXIT_SUCCESS;
}
