#include <bits/stdc++.h>
using namespace std;
template <class T, class T2>
T2 fac(T n) {
  return n < 2 ? 1 : fac<T, T2>(n - 1) * n;
}
template <class T>
T nb_combinaisons(T k, T n) {
  if (n < k) return nb_combinaisons<T>(n, k);
  return fac<T, long long int>(n) /
         (fac<T, long long int>(n - k) * fac<T, long long int>(k));
}
string itoa_2(long long int n) {
  string s;
  stringstream ss;
  ss << n;
  ss >> s;
  while (s.size() != 9) s = '0' + s;
  return s;
}
int pgcd(int a, int b) {
  if (a == 0) return b;
  if (b == 0) return a;
  return pgcd(b, a % b);
}
struct triplet {
  int a;
  int b;
  int c;
};
int main() {
  int n;
  cin >> n;
  string n2;
  cin >> n2;
  if (n == 2) {
    cout << n2;
  } else if (n % 3 == 1) {
    int c;
    for (c = 0; c < (int)(n2.size()) - 5; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 2) << "-";
    cout << n2.substr(c + 2, 2);
  } else if (n % 3 == 2) {
    int c;
    for (c = 0; c < (int)(n2.size()) - 2; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 2);
  } else {
    int c;
    for (c = 0; c < (int)(n2.size()) - 3; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 3);
  }
}

### Prompt

Please create a solution in CPP 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;
template <class T, class T2>
T2 fac(T n) {
  return n < 2 ? 1 : fac<T, T2>(n - 1) * n;
}
template <class T>
T nb_combinaisons(T k, T n) {
  if (n < k) return nb_combinaisons<T>(n, k);
  return fac<T, long long int>(n) /
         (fac<T, long long int>(n - k) * fac<T, long long int>(k));
}
string itoa_2(long long int n) {
  string s;
  stringstream ss;
  ss << n;
  ss >> s;
  while (s.size() != 9) s = '0' + s;
  return s;
}
int pgcd(int a, int b) {
  if (a == 0) return b;
  if (b == 0) return a;
  return pgcd(b, a % b);
}
struct triplet {
  int a;
  int b;
  int c;
};
int main() {
  int n;
  cin >> n;
  string n2;
  cin >> n2;
  if (n == 2) {
    cout << n2;
  } else if (n % 3 == 1) {
    int c;
    for (c = 0; c < (int)(n2.size()) - 5; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 2) << "-";
    cout << n2.substr(c + 2, 2);
  } else if (n % 3 == 2) {
    int c;
    for (c = 0; c < (int)(n2.size()) - 2; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 2);
  } else {
    int c;
    for (c = 0; c < (int)(n2.size()) - 3; c += 3) {
      cout << n2.substr(c, 3) << "-";
    }
    cout << n2.substr(c, 3);
  }
}

```