source_code: import java.io.*;
  import java.util.*;
  import java.math.*;
  
  public class MAIN
  {
      public static void main(String args[])
      {
          Scanner sn=new Scanner(System.in);
          int n,n1,n2,n3;
  
          int arr[]={0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170};
  
          n=sn.nextInt();
  
  
          if(n==2)
          {
              n1=n2=1;
              n3=0;
          }
          else if(n==1)
          {
              n3=n2=0;
              n1=1;
          }
          else if(n==0)
          {
              n1=n2=n3=0;
          }
          else if(n==3)
          {
              n1=n2=n3=1;
          }
          else
          {
              int index=bsearch(arr,0,arr.length-1,n);
              n1=arr[index-1];
              n2=arr[index-3];
              n3=arr[index-4];
          }
  
          System.out.println(n3+" "+n2+" "+n1);
  
      }
  
      static int bsearch(int arr[],int l,int h,int n)
      {
          if(l>h)
          return -1;
  
          int mid=(l+h)/2;
  
          if(n==arr[mid])
          return mid;
          else if(n>arr[mid])
          return(bsearch(arr,mid+1,h,n));
          else
          return(bsearch(arr,l,mid-1,n));
      }
  }