#include <bits/stdc++.h>
using namespace std;
const long long int INF = (long long int)1e9 + 10;
const long long int INFLL = (long long int)1e18 + 10;
const long double EPS = 1e-8;
const long double EPSLD = 1e-18;
const long long int MOD = 1e9 + 7;
template <class T>
T &chmin(T &a, const T &b) {
  return a = min(a, b);
}
template <class T>
T &chmax(T &a, const T &b) {
  return a = max(a, b);
}
long long int n;
int main() {
  scanf("%lld", &n);
  do {
    long long int d = n % 10;
    n /= 10;
    if (d >= 5)
      printf("-O|");
    else
      printf("O-|");
    d %= 5;
    for (long long int i = (0); i < (long long int)(d); i++) printf("O");
    printf("-");
    for (long long int i = (0); i < (long long int)(4 - d); i++) printf("O");
    printf("\n");
  } while (n > 0);
  return 0;
}
