#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int tc = 1;
  while (tc--) {
    string st;
    cin >> st;
    long long n = st.size(), flag = 1;
    vector<string> vs;
    string s = "";
    if (st.back() == '@' or st.front() == '@') flag = 0;
    long long j = 0;
    for (long long i = 1; i < n - 1; i++) {
      if (st[i] == '@' && st[i + 1] <= 'z' && st[i + 1] >= 'a' && j == 0) {
        vs.push_back(st.substr(0, i + 2));
        j = i + 2;
        i++;
        s = "";
      } else if (st[i] == '@' and j == 0)
        flag = 0;
      else if (st[i] == '@' && st[i - 1] == '@') {
        flag = 0;
      } else if (st[i] == '@' && st[i + 1] <= 'z' && st[i + 1] >= 'a' &&
                 j == i) {
        flag = 0;
      } else if (st[i] == '@' && st[i + 1] <= 'z' && st[i + 1] >= 'a' &&
                 j > 0) {
        vs.push_back(st.substr(j, i - j + 2));
        j = i + 2;
        i++;
        s = "";
      } else
        s += st[i];
    }
    if (j < n) s += st[n - 1];
    if (s.size() > 0 && vs.size() > 0) vs[vs.size() - 1] += s;
    if (flag == 0 or vs.size() == 0)
      cout << "No solution" << endl;
    else {
      for (long long i = 0; i < vs.size(); i++) {
        if (i == vs.size() - 1)
          cout << vs[i] << endl;
        else
          cout << vs[i] << ",";
      }
    }
  }
  return 0;
}
