#include <bits/stdc++.h>
using namespace std;
long long test(vector<pair<long long, long long> > &v) {
  long long ret = 0;
  for (__typeof(3) i = 0; i < (3); i++) {
    ret += ((v[i].first - v[i + 1].first) * (v[i].first - v[i + 1].first)) +
           ((v[i].second - v[i + 1].second) * (v[i].second - v[i + 1].second));
  }
  return ret;
}
int main() {
  ios_base::sync_with_stdio(0);
  int n, m;
  while (cin >> n >> m) {
    if (!n) {
      cout << 0 << " " << 1 << endl;
      cout << 0 << " " << m << endl;
      cout << 0 << " " << 0 << endl;
      cout << 0 << " " << m - 1 << endl;
    } else if (!m) {
      cout << 1 << " " << 0 << endl;
      cout << n << " " << 0 << endl;
      cout << 0 << " " << 0 << endl;
      cout << n - 1 << " " << 0 << endl;
    } else {
      set<pair<long long, long long> > ase;
      ase.insert({0, 0});
      ase.insert({1, 0});
      ase.insert({0, 1});
      ase.insert({n, m});
      ase.insert({n - 1, m});
      ase.insert({n, m - 1});
      ase.insert({0, m});
      ase.insert({0, m - 1});
      ase.insert({1, m});
      ase.insert({n, 0});
      ase.insert({n - 1, 0});
      ase.insert({n, 1});
      vector<pair<long long, long long> > vec(ase.begin(), ase.end());
      vector<pair<long long, long long> > ans;
      long long maxi = -1;
      for (__typeof(((int)vec.size())) i = 0; i < (((int)vec.size())); i++)
        for (__typeof(((int)vec.size())) j = 0; j < (((int)vec.size())); j++)
          for (__typeof(((int)vec.size())) k = 0; k < (((int)vec.size())); k++)
            for (__typeof(((int)vec.size())) l = 0; l < (((int)vec.size()));
                 l++) {
              set<int> temp;
              temp.insert(i);
              temp.insert(j);
              temp.insert(k);
              temp.insert(l);
              if (((int)temp.size()) < 4) continue;
              vector<pair<long long, long long> > now;
              now.push_back(vec[i]);
              now.push_back(vec[j]);
              now.push_back(vec[k]);
              now.push_back(vec[l]);
              long long ttt = test(now);
              if (maxi < ttt) maxi = ttt, ans = now;
            }
      for (auto x : ans) cout << x.first << " " << x.second << endl;
    }
  }
  return 0;
}
