#include <bits/stdc++.h>
using namespace std;
vector<pair<char, string> > Sor;
void Soroban(string n) {
  for (int i = n.size(); i >= 0; i--) {
    for (int j = 0; j < 10; j++) {
      if (n[i] == Sor[j].first) cout << Sor[j].second << endl;
    }
  }
}
int main() {
  string n;
  cin >> n;
  Sor.push_back(make_pair('0', "O-|-OOOO"));
  Sor.push_back(make_pair('1', "O-|O-OOO"));
  Sor.push_back(make_pair('2', "O-|OO-OO"));
  Sor.push_back(make_pair('3', "O-|OOO-O"));
  Sor.push_back(make_pair('4', "O-|OOOO-"));
  Sor.push_back(make_pair('5', "-O|-OOOO"));
  Sor.push_back(make_pair('6', "-O|O-OOO"));
  Sor.push_back(make_pair('7', "-O|OO-OO"));
  Sor.push_back(make_pair('8', "-O|OOO-O"));
  Sor.push_back(make_pair('9', "-O|OOOO-"));
  Soroban(n);
  return 0;
}
