#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const char nl = '\n';
using vi = vector<int>;
using vll = vector<ll>;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
template <typename... Args, template <typename...> typename T>
string to_string(T<Args...> const &);
string to_string(string const &s) { return '"' + s + '"'; }
string to_string(char const &c) { return to_string(string(1, c)); }
string to_string(char const *c) { return to_string(string(c)); }
string to_string(bool const &b) { return (b ? "T" : "F"); }
template <typename... Args>
string to_string(pair<Args...> const &p) {
  return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
template <typename... Args, template <typename...> typename T>
string to_string(T<Args...> const &S) {
  string s = "{";
  for (auto const &e : S) s += " " + to_string(e);
  s += " }";
  return s;
}
template <typename Tail>
void debug_out(Tail t) {
  cerr << "[ " << to_string(t) << " ]" << endl;
}
template <typename Head, typename... Tail>
void debug_out(Head h, Tail... t) {
  cerr << " " << to_string(h) << ",";
  debug_out(t...);
}
template <typename T>
void dbr(T lb, T ub) {
  cerr << '{';
  for (auto it = lb; it != ub; it++) cerr << ' ' << to_string(*it);
  cerr << " }" << endl;
}
template <typename T, typename Comp = less<T>>
bool smin(T &mem, T const &v, Comp const &cmp = Comp()) {
  return cmp(v, mem) ? mem = v, true : false;
}
template <typename T, typename Comp = less<T>>
bool smax(T &mem, T const &v, Comp const &cmp = Comp()) {
  return cmp(mem, v) ? mem = v, true : false;
}
const string getEnvVar(string const &key) {
  char *val = getenv(key.c_str());
  return val == NULL ? string("") : string(val);
}
vector<string> splitString(const string &str, const string &delim = " ") {
  vector<string> tokens;
  size_t prev = 0, pos = 0;
  do {
    pos = str.find(delim, prev);
    if (pos == string::npos) pos = str.length();
    string token = str.substr(prev, pos - prev);
    if (!token.empty()) tokens.push_back(token);
    prev = pos + delim.length();
  } while (pos < str.length() && prev < str.length());
  return tokens;
}
void header() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
}
int main() {
  header();
  string enc, dec = "";
  cin >> enc;
  for (int i = 0; i < enc.length(); i++) {
    if (enc[i] == '.') {
      dec += '0';
    } else {
      if (enc[i + 1] == '.')
        dec += '1';
      else
        dec += '2';
      i++;
    }
  }
  cout << dec << endl;
}
