#include <bits/stdc++.h>
using namespace std;
struct V {
  int w;
  vector<int> ns;
};
vector<V> vs;
struct E {
  int a, b, w;
};
vector<E> es;
void do_stuff(const string& s) {
  if (s.length() == 2) {
    cout << s[0] << s[1] << endl;
  } else if (s.length() == 3) {
    cout << s[0] << s[1] << s[2] << endl;
  } else if (s.length() == 4) {
    cout << s[0] << s[1] << "-";
    do_stuff(s.substr(2));
  } else {
    cout << s[0] << s[1] << s[2] << "-";
    do_stuff(s.substr(3));
  }
}
int main() {
  string s;
  getline(cin, s);
  getline(cin, s);
  do_stuff(s);
}

### Prompt

Generate a Cpp solution to the following problem:

Phone number in Berland is a sequence of n digits. Often, to make it easier to memorize the number, it is divided into groups of two or three digits. For example, the phone number 1198733 is easier to remember as 11-987-33. Your task is to find for a given phone number any of its divisions into groups of two or three digits.

Input

The first line contains integer n (2 ≤ n ≤ 100) — amount of digits in the phone number. The second line contains n digits — the phone number to divide into groups.

Output

Output any of divisions of the given phone number into groups of two or three digits. Separate groups by single character -. If the answer is not unique, output any.

Examples

Input

6
549871


Output

54-98-71

Input

7
1198733


Output

11-987-33

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
struct V {
  int w;
  vector<int> ns;
};
vector<V> vs;
struct E {
  int a, b, w;
};
vector<E> es;
void do_stuff(const string& s) {
  if (s.length() == 2) {
    cout << s[0] << s[1] << endl;
  } else if (s.length() == 3) {
    cout << s[0] << s[1] << s[2] << endl;
  } else if (s.length() == 4) {
    cout << s[0] << s[1] << "-";
    do_stuff(s.substr(2));
  } else {
    cout << s[0] << s[1] << s[2] << "-";
    do_stuff(s.substr(3));
  }
}
int main() {
  string s;
  getline(cin, s);
  getline(cin, s);
  do_stuff(s);
}

```