#include <bits/stdc++.h>
using namespace std;
int main() {
  char c;
  int a[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
      b[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  c = getchar();
  while (c <= '9' && c >= '0') {
    a[c - '0']++;
    b[c - '0']++;
    c = getchar();
  }
  string f = "", s = "";
  for (; a[0] > a[9]; a[0]--) {
    b[0]--;
    f += '0';
    s += '0';
  }
  int best = 0;
  int bi = 0;
  for (int i = 1; i < 6; i++) {
    int x = 0;
    if (a[i] == 0 || a[10 - i] == 0) continue;
    if (bi == 0) bi = i;
    for (int j = 0; j < 10; j++) {
      if (j == i) {
        x += (a[j] - 1 < a[9 - j] ? a[j] - 1 : a[9 - j]);
      } else {
        if (j == i - 1) {
          x += (a[j] < a[9 - j] - 1 ? a[j] : a[9 - j] - 1);
        } else
          x += (a[j] < a[9 - j] ? a[j] : a[9 - j]);
      }
    }
    if (x > best) {
      best = x;
      bi = i;
    }
  }
  if (bi) {
    f += char('0' + bi);
    s += char('0' + 10 - bi);
    a[bi]--;
    b[10 - bi]--;
  } else {
    while (a[0] > 0) {
      a[0]--;
      f += '0';
      s += '0';
      b[0]--;
    }
  }
  for (int i = 0; i < 10; i++) {
    while (a[i] > 0 && b[9 - i] > 0) {
      a[i]--;
      b[9 - i]--;
      f += char('0' + i);
      s += char('0' + 9 - i);
    }
  }
  for (int i = 0; i < 10; i++) {
    while (a[i] > 0) {
      a[i]--;
      f += char('0' + i);
    }
    while (b[i] > 0) {
      b[i]--;
      s += char('0' + i);
    }
  }
  reverse(f.begin(), f.end());
  reverse(s.begin(), s.end());
  cout << f << endl << s;
  return 0;
}
