#include <bits/stdc++.h>
using namespace std;
int countBits(int mask) {
  int res = 0;
  while (mask) mask &= (mask - 1), ++res;
  return res;
}
string toString(long long n) {
  stringstream ss;
  ss << n;
  return ss.str();
}
long long toNumber(string s) {
  stringstream ss;
  long long n;
  ss << s;
  ss >> n;
  return n;
}
int main() {
  int n;
  string str;
  cin >> n;
  cin >> str;
  if (n % 2 == 1) cout << str[0], str = str.substr(1);
  for (int i = (int)(0), _m = (int)(str.size()); i < _m; ++i) {
    if (i != 0 && i % 2 == 0) cout << '-';
    cout << str[i];
  }
  cout << endl;
}

### Prompt

Develop a solution in CPP to the problem described below:

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;
int countBits(int mask) {
  int res = 0;
  while (mask) mask &= (mask - 1), ++res;
  return res;
}
string toString(long long n) {
  stringstream ss;
  ss << n;
  return ss.str();
}
long long toNumber(string s) {
  stringstream ss;
  long long n;
  ss << s;
  ss >> n;
  return n;
}
int main() {
  int n;
  string str;
  cin >> n;
  cin >> str;
  if (n % 2 == 1) cout << str[0], str = str.substr(1);
  for (int i = (int)(0), _m = (int)(str.size()); i < _m; ++i) {
    if (i != 0 && i % 2 == 0) cout << '-';
    cout << str[i];
  }
  cout << endl;
}

```