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;
static const double PI = acos(-1.0);
const long long MOD = 1e9 + 7;
bool visited[1000001];
long long power(long long a, long long b) {
  long long ret = 1;
  while (b) {
    if (b & 1) ret *= a;
    a *= a;
    if (ret >= MOD) ret %= MOD;
    if (a >= MOD) a %= MOD;
    b >>= 1;
  }
  return ret;
}
long long invmod(long long x) { return power(x, MOD - 2); }
int main() {
  string s, ans = "";
  cin >> s;
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == '.')
      ans += "0";
    else if (s[i] == '-' && s[i + 1] == '.') {
      ans += "1";
      i++;
    } else if (s[i] == '-' && s[i + 1] == '-') {
      ans += "2";
      i++;
    }
  }
  cout << ans << endl;
  return 0;
}
