#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
using vpii = vector<pii>;
void EXEC() {
  int n, m;
  cin >> n >> m;
  double ans = 0.0;
  vpii sol;
  auto renew = [&](const vpii &sol2) {
    auto cal = [](const vpii &sol) {
      auto dist = [](pii a, pii b) {
        auto sqr = [](int x) { return x * x; };
        return sqrt(sqr(a.first - b.first) + sqr(a.second - b.second));
      };
      double re = 0.0;
      for (int i = 0; i + 1 < sol.size(); ++i) re += dist(sol[i], sol[i + 1]);
      return re;
    };
    if (cal(sol2) > ans) tie(ans, sol) = make_pair(cal(sol2), sol2);
  };
  if (m >= 1) renew({{n, m - 1}, {0, 0}, {n, m}, {0, 1}});
  if (n >= 1) renew({{n - 1, m}, {0, 0}, {n, m}, {1, 0}});
  if (n >= 1 && m >= 1) {
    renew({{0, 0}, {n, m}, {0, m}, {n, 0}});
    renew({{0, 0}, {n, m}, {n, 0}, {0, m}});
  }
  for (auto &i : sol) cout << i.first << ' ' << i.second << endl;
}
int main() {
  EXEC();
  return 0;
}
