You are given a list of strings, where each string represents a distinct country. Your task is to write a function `unite_countries` that takes in the list of countries and returns a single string representing the united form of those countries.

The united form of the countries is obtained as follows:
- If there is only one country in the list, the united form is simply that country.
- If there are two countries in the list, the united form is formed by concatenating the two country names with a hyphen in between.
- If there are more than two countries in the list, the united form is formed by concatenating all the country names with commas and a space between each country name, and ending with the word "and" followed by the last country name.

Write a function `unite_countries(countries: List[str]) -> str` to solve the problem.

**Examples**
Example 1:
```
Input:
countries = ["United States", "Canada", "Mexico"]

Output:
"United States, Canada, and Mexico"
```

Example 2:
```
Input:
countries = ["Italy"]

Output:
"Italy"
```

Example 3:
```
Input:
countries = ["Japan", "South Korea"]

Output:
"Japan-South Korea"
```

Note:
- The input list will always contain at least one string.
- The country names are case-sensitive.
0982e39f-758c-4022-863c-7831af244eba
Вам предоставляется список строк, где каждая строка представляет отдельную страну. Ваша задача - написать функцию `unite_countries`, которая принимает список стран и возвращает одну строку, представляющую объединенную форму этих стран.

Объединенная форма стран получается следующим образом:

Если в списке есть только одна страна, то объединенной формой является просто эта страна.
Если в списке две страны, то объединенная форма формируется путем объединения названий двух стран с помощью дефиса между ними.
Если в списке более двух стран, то объединенная форма формируется путем объединения всех названий стран с помощью запятых и пробела между названиями стран и заканчивается словом "и", за которым следует последнее название страны.

Напишите функцию `unite_countries(страны: список[str]) -> str`, чтобы решить проблему.

### Примеры

#### Пример 1:

```
Input:
countries = ["United States", "Canada", "Mexico"]

Output:
"United States, Canada, and Mexico"
```

#### Пример 2:

```
Input:
countries = ["Italy"]

Output:
"Italy"
```

#### Пример 3:

```
Input:
countries = ["Japan", "South Korea"]

Output:
"Japan-South Korea"
```

### Заметка:

- Список вводимых данных всегда будет содержать хотя бы одну строку.
- В названиях стран учитывается регистр символов.

submitted
Вам предоставляется список строков, где каждая строка представляет собой отдельную страну. Ваша задача - написать функцию `unite_country`, которая входит в список стран и возвращает одну строку, представляющую объединенную форму этих стран. Объединенная форма стран получается следующим образом: - Если в списке есть только одна страна, объединенная форма просто является этой страной. - Если в списке есть две страны, объединенная форма формируется путем объединения двух имен стран с гифном между ними. - Если в списке есть более двух стран, объединенная форма формируется путем объединения всех имен стран с комами и пространством между каждым именем страны, и заканчивается словом "и" после последнее имя страны.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}