#include <bits/stdc++.h>
using namespace std;
int dp[10000000];
vector<int> v, m;
int fib(int n) {
  if (n == 0 || n == 1)
    return n;
  else if (dp[n] != -1)
    return dp[n];
  else {
    dp[n] = fib(n - 1) + fib(n - 2);
    return dp[n];
  }
}
int main() {
  int n, i = 0, x, l, a, b;
  cin >> n;
  memset(dp, -1, sizeof dp);
  if (n == 0)
    cout << "0"
         << " "
         << "0"
         << " "
         << "0" << endl;
  else if (n == 1)
    cout << "0"
         << " "
         << "0"
         << " "
         << "1" << endl;
  else {
    while (fib(i) != n) {
      x = fib(i);
      v.push_back(x);
      i++;
    }
    cout << "0"
         << " " << v[i - 2] << " " << v[i - 1] << endl;
  }
}
