#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, cnt, n, odd = 0, even = 0, p, q, k;
  string a, b = "";
  vector<string> v;
  vector<int> div_sion;
  cin >> n;
  p = n;
  while (p >= 2) {
    if (p % 2 && p % 3) {
      p -= 3;
      div_sion.push_back(3);
    } else if (p % 2 == 0)
      div_sion.push_back(2), p -= 2;
    else if (p % 3 == 0)
      div_sion.push_back(3), p -= 3;
  }
  sort(div_sion.begin(), div_sion.end());
  cin >> a;
  j = 0;
  k = div_sion.size();
  for (i = 0; i < n && j < k;) {
    b = "";
    for (p = i; p < (i + div_sion[j]) && p < n; p++) {
      b += a[p];
    }
    v.push_back(b);
    j++;
    i = p;
  }
  k = v.size();
  for (i = 0; i < k; i++) {
    cout << v[i];
    if (i < k - 1) cout << "-";
  }
  return 0;
}

### Prompt

In Cpp, your task is to solve 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;
int main() {
  int i, j, cnt, n, odd = 0, even = 0, p, q, k;
  string a, b = "";
  vector<string> v;
  vector<int> div_sion;
  cin >> n;
  p = n;
  while (p >= 2) {
    if (p % 2 && p % 3) {
      p -= 3;
      div_sion.push_back(3);
    } else if (p % 2 == 0)
      div_sion.push_back(2), p -= 2;
    else if (p % 3 == 0)
      div_sion.push_back(3), p -= 3;
  }
  sort(div_sion.begin(), div_sion.end());
  cin >> a;
  j = 0;
  k = div_sion.size();
  for (i = 0; i < n && j < k;) {
    b = "";
    for (p = i; p < (i + div_sion[j]) && p < n; p++) {
      b += a[p];
    }
    v.push_back(b);
    j++;
    i = p;
  }
  k = v.size();
  for (i = 0; i < k; i++) {
    cout << v[i];
    if (i < k - 1) cout << "-";
  }
  return 0;
}

```