#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, m;
  cin >> n >> m;
  pair<long long, long long> arr[n][m];
  long long zz = 0, zo = 0, oo = 0;
  for (long long i = 0; i < n; i++) {
    for (long long j = 0; j < m; j++) {
      string str;
      cin >> str;
      arr[i][j].first = str[0] - '0';
      arr[i][j].second = str[1] - '0';
      if (!arr[i][j].first && !arr[i][j].second)
        zz++;
      else if (arr[i][j].first && arr[i][j].second)
        oo++;
      else
        zo++;
    }
  }
  pair<long long, long long> res[n][m];
  long long r = 0, c = 0;
  while (oo) {
    res[r][c] = {1, 1};
    c++;
    if (c == m) {
      r++;
      c = 0;
    }
    oo--;
  }
  while (c && c < m) {
    if (zo) res[r][c] = {0, 1}, zo--, c++;
  }
  if (c == m) c = 0, r++;
  while (r < n) {
    if (r) {
      if (res[r - 1][c] == make_pair(1LL, 1LL)) {
        if (zz) {
          res[r][c] = {0, 0};
          zz--;
        } else {
          res[r][c] = {0, 1};
          zo--;
        }
      } else if (res[r - 1][c] == make_pair(0LL, 1LL)) {
        if (zo) {
          res[r][c] = {1, 0};
          zo--;
        } else {
          res[r][c] = {0, 0};
          zz--;
        }
      } else {
        if (zo) {
          res[r][c] = {0, 1};
          zo--;
        } else {
          res[r][c] = {0, 0};
          zz--;
        }
      }
    } else {
      if (zz) {
        res[r][c] = {0, 0};
        zz--;
      } else {
        res[r][c] = {0, 1};
        zo--;
      }
    }
    c++;
    if (c == m) c = 0, r++;
  }
  for (long long i = 0; i < n; i++) {
    for (long long j = 0; j < m; j++)
      cout << res[i][j].first << res[i][j].second << " ";
    cout << endl;
  }
}
