#include <bits/stdc++.h>
int main() {
  constexpr std::size_t COUNT = 10;
  const std::string quotes = "\"";
  std::list<std::pair<std::string, bool>> a, b, c;
  char arr[COUNT];
  bool fail = true;
  bool stop = true;
  bool cont;
  std::size_t x, y;
  bool num = true;
  bool nz = false;
  bool z = false;
  bool ub;
  do {
    fail = std::cin.getline(arr, COUNT).fail();
    std::cin.clear();
    cont = true;
    for (x = 0, y = 0; cont; ++x) {
      switch (arr[x]) {
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
          if (num && !nz) {
            if (!z)
              nz = true;
            else
              num = false;
          }
          break;
        case '0':
          if (num && !nz) {
            if (z)
              num = false;
            else
              z = true;
          }
          break;
        case '\0':
          c.emplace_back(std::piecewise_construct,
                         std::make_tuple(arr + y, x - y),
                         std::make_tuple(false));
          cont = false;
          if (x == y)
            ub = true;
          else
            ub = false;
          break;
        case ',':
        case ';': {
          auto& r = num && (x != y || (!c.empty() && !ub)) ? a : b;
          r.splice(r.end(), c);
          r.emplace_back(std::piecewise_construct,
                         std::make_tuple(arr + y, x - y),
                         std::make_tuple(true));
          ub = false;
          num = true;
          z = false;
          nz = false;
          y = x + 1;
        } break;
        default:
          if (num) num = false;
      }
    }
  } while (fail);
  if (num && (x != y + 1 || (!c.empty() && !ub))) {
    a.splice(a.end(), c);
  } else {
    b.splice(b.end(), c);
  }
  if (!a.empty()) {
    a.back().second = false;
    std::cout << '\"';
    for (const auto& i : a) {
      std::cout << i.first;
      if (i.second) std::cout << ',';
    }
    std::cout << '\"';
  } else
    std::cout << '-';
  std::cout << '\n';
  if (!b.empty()) {
    b.back().second = false;
    std::cout << '\"';
    for (const auto& i : b) {
      std::cout << i.first;
      if (i.second) std::cout << ',';
    }
    std::cout << '\"';
  } else
    std::cout << '-';
}
