Ternary numeric notation is quite popular in Berland. To telegraph the ternary number the Borze alphabet is used. Digit 0 is transmitted as «.», 1 as «-.» and 2 as «--». You are to decode the Borze code, i.e. to find out the ternary number given its representation in Borze alphabet.

Input

The first line contains a number in Borze code. The length of the string is between 1 and 200 characters. It's guaranteed that the given string is a valid Borze code of some ternary number (this number can have leading zeroes).

Output

Output the decoded ternary number. It can have leading zeroes.

Examples

Input

.-.--


Output

012

Input

--.


Output

20

Input

-..-.--


Output

1012
#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000000 + 7;
long long pow(long long a, long long b, long long m) {
  stack<int> k;
  int j = 128;
  int l = 1;
  int an = 1;
  while (b) {
    if (b >= j) {
      k.push(j);
      b -= j;
    }
    j /= 2;
  }
  while (!k.empty()) {
    if (k.top() == l) {
      an = (an * a) % mod;
      k.pop();
    }
    a = (a * a) % mod;
    l *= 2;
  }
  return an;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  string h;
  cin >> h;
  int n = h.size();
  int u = 0;
  for (int i = 0; i < n; ++i) {
    if (!u) {
      if (h[i] == '.') {
        cout << 0;
      } else {
        u = 1;
      }
    } else {
      if (h[i] == '.') {
        cout << 1;
      } else {
        cout << 2;
      }
      u = 0;
    }
  }
  cout << '\n';
  return 0;
}
