#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <atcoder/modint>
using namespace std;
using i32 = int;
using u32 = unsigned int;
using i64 = long long;
using u64 = unsigned long long;
#define rep(i,n) for(int i=0; i<(int)(n); i++)
const i64 INF = 1001001001001001001;

using Modint = atcoder::static_modint<998244353>;

int main(){
    long long p1 = 0;
    long long q1 = 1;
    long long p0 = 1;
    long long q0 = 1;
    long long a = 1;
    while(p0 <= 500'000'000){
        long long p = p0 * a + p1;
        long long q = q0 * a + q1;
        p1 = p0; q1 = q0;
        p0 = p; q0 = q;
        a = 3 - a;
    }
    long long x0 = 0;
    long long y0 = 0;
    long long x1 = p1 * 2;
    long long y1 = 0;
    long long x2 = p1;
    long long y2 = q1;
    cout << x0 << " " << y0 << endl;
    cout << x1 << " " << y1 << endl;
    cout << x2 << " " << y2 << endl;
    return 0;
}



struct ios_do_not_sync{
    ios_do_not_sync(){
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
    }
} ios_do_not_sync_instance;