#include <bits/stdc++.h>
using namespace std;
const int maxn = 1010;
int n, m;
double dis(int x1, int y1, int x2, int y2) {
  return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}
int main() {
  int i, j;
  cin >> n >> m;
  if (n == 0) {
    cout << "0 1\n"
         << "0 " << m << endl
         << "0 0\n"
         << "0 " << m - 1 << endl;
    return 0;
  }
  if (m == 0) {
    cout << "1 0\n"
         << n << " 0\n"
         << "0 0\n"
         << n - 1 << " 0\n";
    return 0;
  }
  if (n > m) {
    double ans1 = dis(0, 0, n, m) + dis(n, m, 0, m) + dis(0, m, n, 0);
    double ans2 = dis(0, 1, n, m) + dis(n, m, 0, 0) + dis(0, 0, n, m - 1);
    if (ans1 > ans2)
      cout << "0 0" << endl
           << n << " " << m << endl
           << "0 " << m << endl
           << n << " 0\n";
    else
      cout << "0 1\n"
           << n << " " << m << endl
           << "0 0\n"
           << n << " " << m - 1 << endl;
  } else {
    double ans1 = dis(0, 0, n, m) + dis(n, m, n, 0) + dis(n, 0, 0, m);
    double ans2 = dis(n - 1, m, 0, 0) + dis(0, 0, n, m) + dis(n, m, 1, 0);
    if (ans1 > ans2)
      cout << "0 0" << endl
           << n << " " << m << endl
           << n << " 0\n"
           << "0 " << m << endl;
    else
      cout << n - 1 << " " << m << endl
           << "0 0\n"
           << n << " " << m << endl
           << "1 0\n";
  }
  return 0;
}
