#include <bits/stdc++.h>
using namespace std;
double N(pair<size_t, size_t> a, pair<size_t, size_t> b) {
  return sqrt(((b.first - a.first) * (b.first - a.first)) +
              ((a.second - b.second) * (a.second - b.second)));
}
int main() {
  int n, m;
  cin >> n >> m;
  bool swaped = 0;
  if (n > m) {
    swap(n, m);
    swaped = true;
  }
  pair<size_t, size_t> p1, p2, p3, p4;
  if (n == 0 || m == 0) {
    p1 = make_pair(n, m - 1);
    p2 = make_pair(0, 0);
    p3 = make_pair(n, m);
    p4 = make_pair(0, 1);
  } else {
    p1 = make_pair(n - 1, m);
    p2 = make_pair(0, 0);
    p3 = make_pair(n, m);
    p4 = make_pair(1, 0);
  }
  pair<size_t, size_t> g1, g2, g3, g4;
  if (n && m) {
    g1 = make_pair(0, 0);
    g2 = make_pair(n, m);
    g3 = make_pair(n, 0);
    g4 = make_pair(0, m);
  } else {
    g1 = p1;
    g2 = p2;
    g3 = p3;
    g4 = p4;
  }
  double sum1 = N(p1, p2) + N(p2, p3) + N(p3, p4);
  double sum2 = N(g1, g2) + N(g2, g3) + N(g3, g4);
  if (sum1 < sum2) {
    p1 = g1;
    p2 = g2;
    p3 = g3;
    p4 = g4;
  }
  if (!swaped) {
    cout << p1.first << " " << p1.second << endl;
    cout << p2.first << " " << p2.second << endl;
    cout << p3.first << " " << p3.second << endl;
    cout << p4.first << " " << p4.second << endl;
  } else {
    cout << p1.second << " " << p1.first << endl;
    cout << p2.second << " " << p2.first << endl;
    cout << p3.second << " " << p3.first << endl;
    cout << p4.second << " " << p4.first << endl;
  }
  return 0;
}
