#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7, N = 2e6 + 7, M = 2e6 + 7, INF = INT_MAX / 10;
long long powe(long long x, long long y) {
  x = x % mod, y = y % (mod - 1);
  long long ans = 1;
  while (y > 0) {
    if (y & 1) {
      ans = (1ll * x * ans) % mod;
    }
    y >>= 1;
    x = (1ll * x * x) % mod;
  }
  return ans;
}
void printlineone(vector<string> t) {
  string temp = "";
  if (t.size() == 0)
    cout << "-" << endl;
  else {
    long long p = t.size();
    for (int i = 0; i < p; i++) temp = temp + t[i] + ",";
    cout << "\"" << temp.substr(0, temp.length() - 1) << "\"" << endl;
  }
}
void printlinetwo(vector<string> v) {
  string temp = "";
  if (v.size() == 0)
    cout << "-" << endl;
  else {
    long long p = v.size();
    for (int i = 0; i < p; i++) temp = temp + v[i] + ",";
    cout << "\"" << temp.substr(0, temp.length() - 1) << "\"" << endl;
  }
}
bool numericString(string s) {
  long long p = s.length();
  long long flag = 0;
  for (int i = 0; i < p; i++) {
    if (int(s[i]) <= 57 && int(s[i]) >= 48) flag++;
  }
  if (s[0] == '0' && p == 1)
    return true;
  else if ((flag == p && p != 0) && s[0] != '0')
    return true;
  else
    return false;
}
void solve() {
  vector<string> v;
  vector<string> t;
  string s;
  cin >> s;
  long long start = 0;
  string z;
  long long p = s.length();
  for (int i = 0; i < p; i++) {
    z = "";
    if (int(s[i]) == 44 || int(s[i]) == 59) {
      int l = 0;
      l = i - start;
      z = s.substr(start, l);
      if (numericString(z))
        t.push_back(z);
      else {
        v.push_back(z);
      }
      start = i + 1;
    }
  }
  string k = "";
  long long c = s.length();
  k = s.substr(start, c - start);
  if (numericString(k))
    t.push_back(k);
  else {
    v.push_back(k);
  }
  printlineone(t);
  printlinetwo(v);
}
signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
