#include <bits/stdc++.h>
using namespace std;
long long n, i, j, j2, a[100000], c[10], d[10], e[10], u[10], p;
string s, r1, r2;
int main() {
  cin >> s;
  n = s.length();
  r1.resize(n);
  r2.resize(n);
  for (i = 0; i < n; i++) a[i] = s[i] - '0';
  sort(a, a + n);
  for (i = 0; i < n; i++) {
    c[a[i]]++;
    d[a[i]]++;
    e[a[i]]++;
  }
  for (i = 0; i < 10; i++) {
    u[i] = min(d[i], e[9 - i]);
    d[i] -= u[i];
    e[9 - i] -= u[i];
  }
  for (i = 9; i > 0; i--)
    if (d[i] && e[10 - i]) {
      p = i;
      d[i]--;
      e[10 - i]--;
      break;
    }
  if (!p)
    for (i = 9; i > 0; i--)
      if (c[i] && c[10 - i]) {
        p = i;
        if (u[i] && !d[i]) {
          u[i]--;
          e[9 - i]++;
        } else
          d[i]--;
        if (u[i - 1] && !e[10 - i]) {
          u[i - 1]--;
          d[i - 1]++;
        } else
          e[10 - i]--;
        break;
      }
  for (j = 0; j < min(d[0], e[0]); j++) r1[n - j - 1] = r2[n - j - 1] = '0';
  d[0] -= j;
  e[0] -= j;
  if (p) {
    j++;
    r1[n - j] = p + '0';
    r2[n - j] = 10 - p + '0';
  }
  for (i = 0; i < 10; i++)
    while (u[i]--) {
      j++;
      r1[n - j] = i + '0';
      r2[n - j] = 9 - i + '0';
    }
  j2 = j;
  for (i = 0; i < 10; i++)
    while (d[i]--) {
      j++;
      r1[n - j] = i + '0';
    }
  for (i = 0; i < 10; i++)
    while (e[i]--) {
      j2++;
      r2[n - j2] = i + '0';
    }
  cout << r1 << endl << r2;
  return 0;
}
