#include <bits/stdc++.h>
using namespace std;
int n, m;
char s[10];
vector<pair<int, int> > v;
long long dist(pair<int, int> x, pair<int, int> y) {
  return (x.first - y.first) * (x.first - y.first) +
         (x.second - y.second) * (x.second - y.second);
}
int main() {
  scanf("%d %d", &n, &m);
  if (n == 0) {
    printf("0 1\n");
    printf("0 %d\n", m);
    printf("0 0\n");
    printf("0 %d\n", m - 1);
    return 0;
  }
  if (m == 0) {
    printf("1 0\n");
    printf("%d 0\n", n);
    printf("0 0\n");
    printf("%d 0\n", n - 1);
    return 0;
  }
  v.push_back(make_pair(0, 0));
  v.push_back(make_pair(0, 1));
  v.push_back(make_pair(1, 0));
  v.push_back(make_pair(1, 1));
  v.push_back(make_pair(n, m));
  v.push_back(make_pair(n - 1, m));
  v.push_back(make_pair(n, m - 1));
  v.push_back(make_pair(n - 1, m - 1));
  v.push_back(make_pair(n, 0));
  v.push_back(make_pair(n - 1, 0));
  v.push_back(make_pair(n, 1));
  v.push_back(make_pair(n - 1, 1));
  v.push_back(make_pair(0, m));
  v.push_back(make_pair(1, m));
  v.push_back(make_pair(0, m - 1));
  v.push_back(make_pair(1, m - 1));
  int i, j, k, l, c1, c2, c3, c4;
  long long sol = 0;
  for (i = 0; i < v.size(); i++)
    for (j = 0; j < v.size(); j++)
      for (k = 0; k < v.size(); k++)
        for (l = 0; l < v.size(); l++)
          if (v[i] != v[k] && v[j] != v[l] && v[i] != v[l] && v[i] != v[j] &&
              v[j] != v[k] && v[k] != v[l]) {
            long long a =
                dist(v[i], v[j]) + dist(v[j], v[k]) + dist(v[k], v[l]);
            if (a > sol) {
              sol = a;
              c1 = i;
              c2 = j;
              c3 = k;
              c4 = l;
            }
          }
  printf("%d %d\n", v[c1].first, v[c1].second);
  printf("%d %d\n", v[c2].first, v[c2].second);
  printf("%d %d\n", v[c3].first, v[c3].second);
  printf("%d %d\n", v[c4].first, v[c4].second);
  return 0;
}
