#include <bits/stdc++.h>
using namespace std;
const int MAXN = 205;
char s[MAXN];
int judge(char* s) {
  int i = 0, j;
  for (char* p = s; *p != 0;) {
    ++i;
    j = 0;
    while (*p != '@' && *p != 0) {
      p++;
      j++;
    }
    if (*p == 0) return -1;
    if (j == 0) {
      return -1;
    }
    ++p;
    if (*p == '@' || *p == 0) return -1;
    ++p;
    while (*p >= 'a' && *p <= 'z' &&
           ((*(p + 1) >= 'a' && *(p + 1) <= 'z') || *(p + 1) == 0)) {
      ++p;
    }
  }
  return i;
}
void output(char* s, int n) {
  for (char* p = s; *p != 0;) {
    while (*p != '@' && *p != 0) {
      printf("%c", *p);
      p++;
    }
    printf("%c", *p);
    ++p;
    printf("%c", *p);
    ++p;
    n--;
    if (n == 0) {
      while (*p != 0) {
        printf("%c", *p);
        p++;
      }
    } else {
      printf(",");
    }
  }
  putchar('\n');
}
int main() {
  int t;
  scanf("%s", s);
  t = judge(s);
  if (t == -1) {
    printf("No solution\n");
  } else {
    output(s, t);
  }
  return 0;
}
