#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000000;
const int MOD = 1000000007;
const int INF = ((1 << 31) - 1);
int a, b;
int val1, val2, val3, val4, maxx;
int main() {
  scanf("%d%d", &a, &b);
  if (a == 0) {
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 0, 1, 0, b, 0, 0, 0, b - 1);
    return 0;
  }
  if (b == 0) {
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 1, 0, a, 0, 0, 0, a - 1, 0);
    return 0;
  }
  val1 =
      (a - 1) * (a - 1) + b * b + a * a + b * b + (a - 1) * (a - 1) + (b) * (b);
  val2 = a * a + b * b + a * a + 0 * 0 + a * a + b * b;
  val3 = (a) * (a) + (b - 1) * (b - 1) + a * a + b * b + (a) * (a) +
         (b - 1) * (b - 1);
  val4 = a * a + b * b + 0 * 0 + b * b + a * a + b * b;
  maxx = max(val1, val2);
  maxx = max(maxx, val3);
  maxx = max(maxx, val4);
  if (val1 == maxx)
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 1, 0, a, b, 0, 0, a - 1, b);
  else if (val2 == maxx)
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 0, 0, a, b, 0, b, a, 0);
  else if (val3 == maxx)
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 0, 1, a, b, 0, 0, a, b - 1);
  else
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", 0, 0, a, b, a, 0, 0, b);
  return 0;
}
