#include <bits/stdc++.h>
using namespace std;
#pragma warning(disable : 4996)
#pragma comment(linker, "/STACK:16777216")
#pragma warning(disable : 4996)
#pragma comment(linker, "/STACK:16777216")
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
const int inf = 2000000000;
const long long linf = 5000000000000000000;
const long double LDINF = 2e18;
template <typename T>
void print(vector<T>& a) {
  for (int i = 0; i < a.size(); i++) cout << a[i] << ' ';
}
template <typename T>
void print(deque<T>& a) {
  for (int i = 0; i < a.size(); i++) cout << a[i] << ' ';
}
template <typename T>
void print(vector<vector<T>>& a) {
  for (int i = 0; i < a.size(); i++) {
    for (int j = 0; j < a[i].size(); j++) cout << a[i][j] << ' ';
    cout << '\n';
  }
}
template <typename T>
void input(vector<T>& a) {
  for (int i = 0; i < a.size(); i++) cin >> a[i];
}
template <typename T>
void input(deque<T>& a) {
  for (int i = 0; i < a.size(); i++) cin >> a[i];
}
template <typename T>
void input(vector<vector<T>>& a) {
  for (int i = 0; i < a.size(); i++)
    for (int j = 0; j < a[i].size(); j++) cin >> a[i][j];
}
long long mod = 1190494759;
int mod1 = 1e9 + 7;
long long p = 103;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
vector<vector<long long>> mult(vector<vector<long long>>& A,
                               vector<vector<long long>>& B) {
  int n = A.size(), m = B[0].size();
  vector<vector<long long>> C(n, vector<long long>(m, 0));
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      for (int k = 0; k < A[0].size(); k++) {
        C[i][j] += A[i][k] * B[k][j];
        C[i][j] %= mod;
      }
    }
  }
  return C;
}
vector<long long> hash1, st;
bool compare(int l1, int r1, int l2, int r2) {
  long long val1 = hash1[r1], val2 = hash1[r2];
  if (l1) val1 = (val1 - hash1[l1 - 1] + 5 * mod) % mod;
  if (l2) val2 = (val2 - hash1[l2 - 1] + 5 * mod) % mod;
  return val1 * st[l2] % mod == val2 * st[l1] % mod;
}
long long BinPow(long long a, long long n) {
  if (n == 1) return a;
  if (n == 0) return 1;
  if (n % 2 == 0) {
    long long d = BinPow(a, n / 2);
    return d * d % mod;
  } else
    return a * BinPow(a, n - 1) % mod;
}
struct event {
  int num, type, x;
};
bool cmp(event& a, event& b) {
  if (a.x == b.x) {
    return a.type > b.type;
  }
  return a.x < b.x;
}
void solve() {
  bool flag = false;
  string str;
  cin >> str;
  int n = str.length();
  for (int i = 0; i < n; i++) {
    if (i != n - 3 && i != 0 && str[i] == 'd' && i + 2 < n) {
      if (str[i + 1] == 'o' && str[i + 2] == 't') {
        cout << '.';
        i += 2;
        continue;
      }
    } else if (i != 0 && i != n - 2 && str[i] == 'a') {
      if (!flag && i != n - 1 && str[i + 1] == 't') {
        cout << '@';
        i += 1;
        flag = true;
        continue;
      }
    }
    cout << str[i];
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int tst = 1;
  while (tst--) solve();
}
