#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  if (n == 0 || m == 0) {
    cout << (n == 0 ? 0 : 1) << " " << (m == 0 ? 0 : 1) << endl;
    cout << (n == 0 ? 0 : n) << " " << (m == 0 ? 0 : m) << endl;
    cout << 0 << " " << 0 << endl;
    cout << (n == 0 ? 0 : n - 1) << " " << (m == 0 ? 0 : m - 1) << endl;
    return 0;
  }
  long double dist = 0.0;
  long double dist1 = 0.0;
  long double dist2 = 0.0;
  long double dist3 = 0.0;
  long double dist4 = 0.0;
  long double dist5 = 0.0;
  dist1 = 2 * sqrt(n * n + m * m) + n;
  dist2 = 2 * sqrt(n * n + m * m) + m;
  if (n > 1 && m > 1)
    dist3 = sqrt((n - 1) * (n - 1) + m * m) + sqrt(n * n + m * m) +
            sqrt((n - 1) * (n - 1) + (m) * (m));
  if (n > 1 && m > 1)
    dist4 = sqrt(n * n + m * m) + 2 * sqrt(n * n + (m - 1) * (m - 1));
  if (n == m && n >= 3) {
    dist5 = 3 * (sqrt(n * n + m * m) - 1.414);
  }
  dist = max(max(max(dist1, dist4), max(dist2, dist3)), dist5);
  if (dist == dist1) {
    cout << 0 << " " << 0 << endl;
    cout << n << " " << m << endl;
    cout << 0 << " " << m << endl;
    cout << n << " " << 0 << endl;
    return 0;
  }
  if (dist == dist2) {
    cout << 0 << " " << 0 << endl;
    cout << n << " " << m << endl;
    cout << n << " " << 0 << endl;
    cout << 0 << " " << m << endl;
    return 0;
  }
  if (dist == dist3) {
    cout << 1 << " " << 0 << endl;
    cout << n << " " << m << endl;
    cout << 0 << " " << 0 << endl;
    cout << n - 1 << " " << m << endl;
    return 0;
  }
  if (dist == dist4) {
    cout << 0 << " " << m - 1 << endl;
    cout << n << " " << 0 << endl;
    cout << 0 << " " << m << endl;
    cout << n << " " << 1 << endl;
    return 0;
  }
  if (dist == dist5) {
    cout << 0 << " " << 0 << endl;
    cout << n << " " << m << endl;
    cout << 1 << " " << 1 << endl;
    cout << n - 1 << " " << m - 1 << endl;
    return 0;
  }
  return 0;
}
