#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:36777216")
using namespace std;
inline int MAX(int a, int b) { return (a > b) ? (a) : (b); }
inline int MIN(int a, int b) { return (a < b) ? (a) : (b); }
int main() {
  int const sz = 1000;
  int i, j;
  long long a[sz + 1], b;
  long long n;
  cin >> n;
  if (n == 1) {
    cout << "0 0 1";
    return 0;
  }
  if (n == 0) {
    cout << "0 0 0";
    return 0;
  }
  a[0] = 0;
  a[1] = 1;
  for (i = 2; i <= 100; i++) {
    a[i] = a[i - 1] + a[i - 2];
    if (a[i] == n) break;
  }
  if (i >= 4) cout << a[i - 4] << " " << a[i - 3] << " " << a[i - 1];
  if (i == 3) cout << "0 1 1";
  return 0;
}
