Tom loves vowels, and he likes long words with many vowels. His favorite words are vowelly words. We say a word of length $k$ is vowelly if there are positive integers $n$ and $m$ such that $n\cdot m = k$ and when the word is written by using $n$ rows and $m$ columns (the first row is filled first, then the second and so on, with each row filled from left to right), every vowel of the English alphabet appears at least once in every row and every column.

You are given an integer $k$ and you must either print a vowelly word of length $k$ or print $-1$ if no such word exists.

In this problem the vowels of the English alphabet are 'a', 'e', 'i', 'o' ,'u'.


-----Input-----

Input consists of a single line containing the integer $k$ ($1\leq k \leq 10^4$) — the required length.


-----Output-----

The output must consist of a single line, consisting of a vowelly word of length $k$ consisting of lowercase English letters if it exists or $-1$ if it does not.

If there are multiple possible words, you may output any of them.


-----Examples-----
Input
7

Output
-1

Input
36

Output
agoeuioaeiruuimaeoieauoweouoiaouimae


-----Note-----

In the second example, the word "agoeuioaeiruuimaeoieauoweouoiaouimae" can be arranged into the following $6 \times 6$ grid: $\left. \begin{array}{|c|c|c|c|c|c|} \hline a & {g} & {o} & {e} & {u} & {i} \\ \hline o & {a} & {e} & {i} & {r} & {u} \\ \hline u & {i} & {m} & {a} & {e} & {o} \\ \hline i & {e} & {a} & {u} & {o} & {w} \\ \hline e & {o} & {u} & {o} & {i} & {a} \\ \hline o & {u} & {i} & {m} & {a} & {e} \\ \hline \end{array} \right.$ 

It is easy to verify that every row and every column contain all the vowels.

Difficulty: EASY
Tags: Number theory

Mathematics

Constructive algorithms

Starter code:

Solutions:
import math
k = int(input())
col = 0
row = 0
for i in range(5, int(math.sqrt(k)) + 1):
	if k % i == 0:
		col = i
		row = int(k / col)
		if row >= 5:
			break

def p(r, c):
	output = ''
	t = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	v = ['a', 'e', 'i', 'o', 'u']
	for i in range(r):
		output = output + t[i % 5]
		for j in range(5, c):
			output = output + v[i % 5]
	return output
if row >= 5 and col >= 5:
	print(p(row, col))
else:
	print(-1)


k = int(input())
factor = False
vowels = ['a', 'e', 'i', 'o', 'u']
r = 0
c = 0
answer = list()
for r in range(5, 101):
	c = k / r
	if c.is_integer() and c >= 5:
		c = k // r
		factor = True
		break
if not factor:
	print(-1)
	quit()
for shift in range(r):
	for x in range(c):
		answer.append(vowels[(x + shift) % 5])
print(''.join(answer))


num = int(input())
(n, m) = (0, 0)
for i in range(5, int(num ** 0.5) + 5):
	if num % i == 0 and num // i >= 5:
		(n, m) = (i, num // i)
		break
if n == 0 and m == 0:
	print(-1)
else:
	s = ''
	arr = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		ind = i
		ind %= 5
		for j in range(m):
			s += arr[ind]
			ind = (ind + 1) % 5
	print(s)


import math

def prime(n):
	ok = True
	for i in range(2, int(math.sqrt(n))):
		if n % i == 0:
			ok = False
			break
	if ok:
		return True
	else:
		return False

def fact(a, b):
	ans = 1
	for i in range(a, b + 1):
		ans *= i
	return str(ans) - 1

def comb(n, c):
	return fact(n) // (fact(n - c) * c)
n = int(input())
ok = False
no = 0
for i in range(5, int(1000.0)):
	if n % i == 0 and n // i > 4:
		ok = True
		no = int(i)
		break
if not ok:
	print(-1)
else:
	s = 'aeiou' + 'a' * max(no - 5, 0)
	ans = str(s)
	for i in range(n // no - 1):
		s += s[0]
		s = list(s)
		s[0] = ''
		s = ''.join(s)
		ans += s
	print(ans)


k = int(input())
n = k
while n >= 5:
	if k % n == 0 and k // n >= 5:
		break
	n -= 1
if n < 5:
	print(-1)
	exit()
for r in range(n):
	for c in range(k // n):
		print('aeiou'[(r + c) % 5], end='')


k = int(input())
(n, m) = (0, 0)
vowels = 'aeiou'
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		(n, m) = (i, k // i)
if n == 0 and m == 0:
	print(-1)
elif m == 5:
	for a in range(m):
		for b in range(n):
			print(vowels[(a + b) % 5], end='')
else:
	for a in range(k):
		print(vowels[a % 5], end='')


num = int(input())
i = 5
row = 1
while i <= num / 2:
	if num % i == 0:
		col = i
		row = num / i
		break
	i += 1
if row > 4:
	ar = []
	j = 0
	c = 0
	i = 1
	while i <= row:
		while j < col * i + c:
			if j % 5 == 0:
				ar.append('a')
			if j % 5 == 1:
				ar.append('e')
			if j % 5 == 2:
				ar.append('i')
			if j % 5 == 3:
				ar.append('o')
			if j % 5 == 4:
				ar.append('u')
			j += 1
		j += 1
		c += 1
		i += 1
	str1 = ''.join(ar)
	print(str(str1))
else:
	print('-1')


k = int(input())
i = 5
s = ''
while k % i != 0 and k >= 5:
	i += 1
if k // i < 5 or k < 5:
	print(-1)
else:
	(a, b) = (i, k // i)
	if a == 5:
		d = 'aeiou'
		for i in range(b):
			s += d
			d = d[-1] + d[:-1]
	else:
		s = ('aeiou' * ((k + 1) // 5 + 1))[:k]
	print(s)


n = int(input())
for d in range(5, n):
	if 0 == n % d and n / d >= 5:
		s = 'aeiou' * n
		m = n // d
		t = ''
		for i in range(m):
			t += s[i % 5:i % 5 + d]
		print(t)
		break
else:
	print(-1)


k = int(input())
v = 'aeiou' * k
n = 5
while n * n < k and k % n:
	n += 1
print(((''.join((v[i:i + n] for i in range(n))) * k)[:k], -1)[n * n > k])


from collections import Counter
import string
import math
import sys
from fractions import Fraction

def array_int():
	return [int(i) for i in sys.stdin.readline().split()]

def vary(arrber_of_variables):
	if arrber_of_variables == 1:
		return int(sys.stdin.readline())
	if arrber_of_variables >= 2:
		return map(int, sys.stdin.readline().split())

def makedict(var):
	return dict(Counter(var))
testcases = 1
value = ['aieou' * 10 ** 4, 'eaiuo' * 10 ** 4, 'iouea' * 10 ** 4, 'ouaie' * 10 ** 4, 'ueoai' * 10 ** 4]
for _ in range(testcases):
	n = vary(1)
	if n <= 24:
		print(-1)
	else:
		(ans, ans2) = (-1, -1)
		for j in range(5, 10 ** 4 + 1):
			if ans != -1:
				break
			for k in range(5, 10 ** 4 + 1):
				if j * k == n:
					(ans, ans2) = (j, k)
					break
		if ans == -1:
			print(-1)
		else:
			for i in range(ans):
				print(value[i % 5][:ans2], end='')
			print()


n = int(input())
vovel = ['a', 'e', 'i', 'o', 'u'] * 2000

def perfect(n):
	for j in range(5, n + 1):
		if n % j == 0:
			if n // j > 4:
				return sorted([j, n // j])
	else:
		return 1
if n < 25 or perfect(n) == 1:
	print(-1)
else:
	(r, c) = perfect(n)
	vovel = vovel[:r]
	for i in range(c):
		print(*vovel, sep='', end='')
		vovel = vovel[1:] + [vovel[0]]


N = int(input())
(n, m) = (None, None)
for d in range(5, N):
	if N % d == 0:
		n = d
		m = N // d
		break
result = ''
vovels = ['a', 'e', 'i', 'o', 'u']
if not n or not m or n < 5 or (m < 5):
	print(-1)
else:
	for r in range(n):
		for c in range(m):
			result += vovels[(r + c) % 5]
	print(''.join(result))


import math as m
s = 'aeiou'
k = int(input())
if k < 25:
	print(-1)
else:
	d = 5
	sq = int(m.sqrt(k))
	while d <= sq:
		if k % d == 0:
			s = (s * (d // 5 + 1))[:d]
			for i in range(k // d):
				s = s[-1] + s[:-1]
				print(s, end='')
			break
		d += 1
	else:
		print(-1)


import math
n = int(input())
solution_exists = False
for i in range(5, math.ceil(math.sqrt(n)) + 1):
	if n % i == 0 and n / i >= 5:
		solution_exists = True
		break
if solution_exists:
	vowels = ['a', 'e', 'i', 'o', 'u']
	out_str = ''
	m = n
	shift = 0
	if n // 25 == n / 25:
		while m // 5 == m / 5:
			m //= 5
		shift = int(m < 5)
	for i in range(n):
		out_str += vowels[(i + i * shift // 5) % 5]
	print(out_str)
else:
	print('-1')


import os
import sys
from io import BytesIO, IOBase
import heapq as h
from bisect import bisect_left, bisect_right
from types import GeneratorType
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		import os
		self.os = os
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = self.os.read(self._fd, max(self.os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = self.os.read(self._fd, max(self.os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			self.os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
from collections import defaultdict as dd, deque as dq
import math, string

def getInts():
	return [int(s) for s in input().split()]

def getInt():
	return int(input())

def getStrs():
	return [s for s in input().split()]

def getStr():
	return input()

def listStr():
	return list(input())
MOD = 10 ** 9 + 7
from functools import reduce

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))

def solve():
	K = getInt()
	if K < 25:
		return -1
	facs = factors(K)
	facs.remove(1)
	if 2 in facs:
		facs.remove(2)
	if 3 in facs:
		facs.remove(3)
	if 4 in facs:
		facs.remove(4)
	f1 = min(facs)
	if f1 < 5:
		return -1
	f2 = K // f1
	if f2 < f1:
		return -1
	ans = ''
	tmp = 'aeiou'
	if f1 % 5 == 0:
		for j in range(f2):
			tmp = tmp[1:] + tmp[:1]
			ans += tmp * (f1 // 5)
	else:
		ans = K // 5 * tmp + tmp[:K % 5]
	return ans
print(solve())


k = int(input())
d = True
t = 5
while d and 5 <= k // t:
	if k % t == 0:
		d = False
		l = (t, k // t)
	else:
		t += 1
if d:
	print(-1)
else:
	a = 'aeiou' * l[0]
	b = 'eioua' * l[0]
	c = 'iouae' * l[0]
	e = 'ouaei' * l[0]
	f = 'uaeio' * l[0]
	v = ''
	p = [a, b, c, e, f]
	for i in range(l[1]):
		v = v + p[i % 5][:l[0]]
	print(v)


vowels = ['a', 'e', 'i', 'o', 'u']
i = 1
row = 0
n = int(input())
while i ** 2 <= n:
	if n % i == 0:
		row = i
	i += 1
if row > 4:
	word = ''
	col = n // row
	for i in range(0, row):
		for j in range(0, col):
			word += vowels[(i + j) % 5]
	print(word)
else:
	print(-1)


n = int(input())
ans = ''
s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
for i in range(5, n):
	if n % i == 0 and n // i >= 5:
		a = i
		b = n // i
		for j in range(a):
			ans += s[j % 5] + s[j % 5][0] * (b - 5)
		print(ans)
		break
else:
	print(-1)


import math

def foo(t):
	l = int(math.sqrt(t))
	for i in range(1, l + 1):
		if t % i == 0:
			n1 = t // i
			n2 = t // n1
	if n1 < 5 or n2 < 5:
		print(-1)
	else:
		s1 = 'aeioueiouaiouaeouaeiuaeio'
		s = ''
		l = 'aeiou'
		n = t // 5
		if t % 25 == 0:
			p = t // 25
			for i in range(0, p):
				s = s + s1
			print(s)
		else:
			for i in range(0, n):
				s = s + l
			if t % 5 != 0:
				s = s + l[:t % 5]
			print(s)
t = int(input())
foo(t)


k = int(input())
(f, s) = (0, 0)
flag = 0
for i in range(5, k):
	if k % i == 0:
		if k // i >= 5:
			f = k // i
			s = i
			flag = 1
			break
if flag == 0:
	print('-1')
else:
	ans = [[0 for i in range(f)] for j in range(s)]
	st = 'aeiou'
	d = {'a': 0, 'e': 1, 'i': 2, 'o': 3, 'u': 4}
	for i in range(5):
		ans[0][i] = st[i]
		ans[i][0] = st[i]
	for i in range(s):
		for j in range(f):
			if ans[i][j] == 0:
				if i > 0:
					jj = d[ans[i - 1][j]]
					jj = (jj + 1) % 5
					ans[i][j] = st[jj]
				else:
					jj = d[ans[i][j - 1]]
					jj = (jj + 1) % 5
					ans[i][j] = st[jj]
		print(''.join(ans[i]), end='')


num = int(input())
ans = '-1'
v = 'aeiou'
for i in range(5, int(num ** 0.5) + 1):
	if num % i == 0:
		ans = ''
		for j in range(num // i):
			ind = j % 5
			for k in range(i):
				ans += v[ind]
				ind = (ind + 1) % 5
		break
print(ans)


from sys import *
from math import *
n = int(stdin.readline())
r = n // 5
c = 5
if r < 5:
	print(-1)
else:
	f = 0
	for i in range(5, int(sqrt(n)) + 1):
		if n % i == 0:
			f = 1
			break
	if f == 0:
		print(-1)
	elif n % 25 == 0:
		a = 'aeioueiouaiouaeouaeiuaeio'
		print(a * (n // 25) + a[:n % 25])
	else:
		a = 'aeiou'
		print(a * (n // 5) + a[:n % 5])


k = int(input())
rs = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
if k < 25:
	print(-1)
else:
	for r in range(5, k + 1):
		if k % r == 0:
			c = k // r
			if c < 5:
				continue
			a = c - 5
			for i in range(r):
				print((rs[i % 5] * ((c + 4) // 5))[:c], end='')
			break
	else:
		print(-1)


k = int(input())

def dividers(n):
	q = []
	i = 1
	while i * i <= n:
		if n % i == 0:
			q.append(i)
		i += 1
	z = len(q)
	if q[-1] ** 2 == n:
		z -= 1
	for i in range(z - 1, -1, -1):
		q.append(n // q[i])
	return q
a = dividers(k)
q = -1
for i in a:
	if k // i >= 5 and i >= 5:
		z = i - 5
		q = 'aeuio' + 'a' * z + 'euioa' + 'e' * z + 'uioae' + 'u' * z + 'ioaeu' + 'i' * z + 'oaeui' + 'o' * z
		q += ('aeuio' + 'a' * z) * (k // i - 5)
		break
print(q)


s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
res = ''
flag = False
k = int(input())
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		n = i
		m = k // i
		flag = True
if flag == False:
	exit(print(-1))
for i in range(n):
	res += s[i % 5] + s[i % 5][0] * (m - 5)
print(res)


def solve(n, m):
	ans = ''
	vow = 'aiueo'
	for h in range(n):
		for w in range(m):
			ans += vow[(w + h) % 5]
	print(ans)

def main():
	k = int(input())
	for n in range(1, k + 1):
		if k % n == 0:
			m = k // n
			if n >= 5 and m >= 5:
				solve(n, m)
				return
	print(-1)
main()


from itertools import cycle
from collections import deque
v = 'aeiou'
k = int(input())
if k < 25:
	print(-1)
else:
	for i in range(5, k - 1):
		if k % i == 0 and k / i >= 5:
			n = i
			m = int(k / i)
			s = ''
			rep = cycle('aeiou')
			d = deque()
			while len(d) < 5:
				d.append(next(rep))
			next(rep)
			dr = deque()
			while len(dr) < 5:
				dr.append(next(rep))
			for i in range(n):
				s += ''.join(d)
				d.rotate()
				for _ in range(5, m):
					s += dr[0]
					dr.rotate()
				dr.rotate()
			print(s)
			exit()
	print(-1)


k = int(input())
result = ''
characters = ('a', 'e', 'i', 'o', 'u')
if k < 25:
	result = -1
else:
	n = m = 0
	for i in range(5, k // 5 + 1):
		if k % i == 0:
			m = int(k / i)
			n = i
			break
	if n == 0:
		result = -1
	else:
		arr = []
		for i in range(m):
			arr.append([])
			for j in range(n):
				arr[-1].append(characters[(i + j) % 5])
		result = ''.join([''.join(i) for i in arr])
print(result)


import random
import math
x = int(input())

def getst(x, mx):
	s = ['a', 'e', 'i', 'o', 'u']
	m = 0
	st = ''
	t = 1
	for i in range(x):
		st += s[m]
		m += 1
		if m > 4:
			m = 0
		if (i + 1) % mx == 0:
			m = t
			t += 1
			t %= 5
	return st
root = math.sqrt(x)
if int(root + 0.5) ** 2 == x:
	if root >= 5:
		print(getst(x, root))
	else:
		print(-1)
else:
	n = x // 2
	for i in range(5, n + 1):
		if x % i == 0:
			u = x // i
			if u >= 5 and i >= 5:
				print(getst(x, max(u, i)))
				exit(0)
	print(-1)


n = int(input())
for i in range(1, n):
	if n % i != 0:
		continue
	j = n // i
	if j < 5 or i < 5:
		continue
	l = [['b'] * i for _ in range(j)]
	v = ['a', 'e', 'o', 'u', 'i']
	for k in range(j):
		for ll in range(i):
			l[k][ll] = v[(k + ll) % 5]
	print(''.join((''.join(ls) for ls in l)))
	exit()
print(-1)


from math import sqrt
k = int(input())
ok = True
l = ['a', 'e', 'i', 'o', 'u']
for i in range(5, k + 1):
	if k % i == 0 and k // i >= 5:
		ok = False
		n = i
		m = k // i
		break
if not ok:
	for i in range(n):
		for j in range(m):
			print(l[(i + j) % 5], end='')
	print()
elif ok:
	print('-1')


import sys
input = sys.stdin.readline
k = int(input())
n = -1
for i in range(5, k + 1):
	if k % i == 0 and k // i >= 5:
		n = i
		break
if n == -1:
	print(-1)
else:
	for i in range(n):
		for j in range(k // n):
			print('aeiou'[(i + j) % 5], end='')


n = int(input())
if n < 25:
	print(-1)
else:
	row = -1
	col = -1
	for i in range(5, n):
		if n % i == 0 and n // i >= 5:
			row = i
			col = n // i
			break
	if row == col == -1:
		print(-1)
	else:
		arr = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
		ans = ''
		count1 = 0
		for i in range(row):
			count = 0
			j = 0
			while count < col:
				ans += arr[count1][j]
				count += 1
				j += 1
				j = j % 5
			count1 += 1
			count1 = count1 % 5
		print(ans)


import math
n = int(input())
e = False
for i in range(5, int(n ** (1 / 2) + 1)):
	if n % i == 0 and n / i >= 5:
		e = True
		m = int(n / i)
		s = int(i)
		break
vow = 'aeiou'
ans = ''
if e:
	for i in range(m):
		for j in range(i, s + i):
			ans += vow[j % 5]
	print(ans)
else:
	print(-1)


import math

def divisible(k):
	for i in range(5, k):
		if k % i == 0 and k / i >= 5:
			return True
	return False

def solve(k):
	if not divisible(k):
		return '-1'
	n = 0
	m = 0
	for i in range(5, k):
		if k % i == 0 and k / i >= 5:
			m = i
			n = int(k / i)
			break
	s = ''
	c = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		subs = ''
		for j in range(m):
			subs += c[(i + j) % 5]
		s += subs
	return s
k = int(input())
print(solve(k))


k = int(input())
n = 0
s = 'aeiou'
s1 = ''
for i in range(5, k):
	if k % i == 0:
		n = i
		break
if n == 0:
	print(-1)
else:
	m = k // n
	if m < 5:
		print(-1)
	else:
		for i in range(n):
			x = m // 5
			y = m % 5
			s1 = s * x
			s1 = s1 + s[:y]
			print(s1, end='')
			s = s[-1] + s[0:-1]


x = int(input())
v = 'aeiou'
for i in range(1, x + 1):
	if i * i > x:
		break
	if x % i == 0:
		j = x // i
		if i < 5 or j < 5:
			continue
		s = ''
		for k1 in range(i):
			for k2 in range(j):
				s += v[(k1 + k2) % 5]
		print(s)
		exit(0)
print(-1)


import math
n = int(input().strip())

def check_divisible(n):
	d = 5
	upper_bound = int(math.sqrt(n))
	while d <= upper_bound:
		if n % d == 0:
			if n // d < 5:
				return (0, 0)
			else:
				return (n // d, d)
		d += 1
	return (0, 0)
vowels = ['a', 'e', 'i', 'o', 'u']

def grid(a, b):
	word = []
	for i in range(a):
		for j in range(b):
			word.append(vowels[(i + j) % 5])
	return ''.join(word)
if n < 25:
	print(-1)
else:
	(a, b) = check_divisible(n)
	if not a:
		print(-1)
	else:
		print(grid(a, b))


import sys

class Main:

	def __init__(self):
		self.buff = None
		self.index = 0

	def next(self):
		if self.buff is None or self.index == len(self.buff):
			self.buff = self.next_line()
			self.index = 0
		val = self.buff[self.index]
		self.index += 1
		return val

	def next_line(self):
		return sys.stdin.readline().split()

	def next_ints(self):
		return [int(x) for x in sys.stdin.readline().split()]

	def next_int(self):
		return int(self.next())

	def solve(self):
		k = self.next_int()
		v = ['a', 'e', 'i', 'o', 'u']
		for x in range(5, k):
			if k % x == 0:
				y = k // x
				if y < 5:
					break
				r = []
				for i in range(x):
					for j in range(y):
						r.append(v[(i + j) % 5])
				print(''.join(r))
				return
		print(-1)
Main().solve()


n = int(input())
if n < 25:
	print('-1')
	exit(0)
row = 0
for i in range(5, n):
	if n % i == 0 and n // i >= 5:
		row = i
if row == 0:
	print('-1')
	exit(0)
a = ['a', 'e', 'i', 'o', 'u']
for i in range(n):
	print(a[int(i // row + i % row) % 5], end='')


def factors(n):
	l = []
	for i in range(1, int(n ** (1 / 2)) + 1):
		if n % i == 0:
			l.append(i)
			l.append(n // i)
	return l
n = int(input())
f = factors(n)
if f[-1] >= 5 and f[-2] >= 5:
	s = ''
	j = 0
	while j < f[-2]:
		temp = ['a', 'e', 'i', 'o', 'u']
		for i in range(f[-1]):
			s += temp[i % 5]
		j += 1
		if j == f[-2]:
			break
		temp = ['e', 'i', 'o', 'u', 'a']
		for i in range(f[-1]):
			s += temp[i % 5]
		j += 1
		if j == f[-2]:
			break
		temp = ['i', 'o', 'u', 'a', 'e']
		for i in range(f[-1]):
			s += temp[i % 5]
		j += 1
		if j == f[-2]:
			break
		temp = ['o', 'u', 'a', 'e', 'i']
		for i in range(f[-1]):
			s += temp[i % 5]
		j += 1
		if j == f[-2]:
			break
		temp = ['u', 'a', 'e', 'i', 'o']
		for i in range(f[-1]):
			s += temp[i % 5]
		j += 1
	print(s)
else:
	print(-1)


n = int(input())
flag = 0
a = 0
b = 0
for k in range(5, n):
	if n % k == 0 and n / k >= 5:
		a = k
		b = n / k
		flag = 1
		break
s = ''
arr = ['a', 'e', 'i', 'o', 'u']
cnt = 0
c1 = 0
c2 = 0
if flag == 0:
	print(-1)
else:
	for i in range(int(n / k)):
		c1 = c2 % 5
		for j in range(k):
			s += arr[c1 % 5]
			c1 += 1
		c2 += 1
	print(s)


import math
n = int(input())
if n < 25:
	print('-1')
else:
	s = 'aeiou'
	l = ''
	x = int(math.sqrt(n))
	if x ** 2 == n:
		for i in range(x):
			for j in range(x):
				l += s[(i + j) % 5]
		print(l)
	else:
		for i in range(5, n + 1):
			if n % i == 0:
				break
		x = n // i
		if i >= 5 and n // i >= 5:
			for i in range(i):
				for j in range(x):
					l += s[(i + j) % 5]
			print(l)
		else:
			print('-1')


from sys import stdin, stdout
read = stdin.readline
write = stdout.write
print = lambda x: write(str(x) + '\n')

def readint():
	return int(read())

class Sol:

	def __init__(self, n):
		self.n = n

	@classmethod
	def input(cls):
		return cls(readint())

	def decompose(self):
		for x in range(5, self.n // 5 + 1):
			if self.n % x == 0:
				return (x, self.n // x)
		return (-1, -1)

	def solve_f1(self):
		(m, n) = self.decompose()
		if m == -1:
			return -1
		vowels = ['a', 'e', 'i', 'o', 'u']
		nvowels = [vowels[i % 5] for i in range(n)]
		ret = []
		for i in range(m):
			off = i % n
			ret += nvowels[off:] + nvowels[:off]
		return ''.join(ret)

	def solve(self):
		(m, n) = self.decompose()
		if m == -1:
			return -1
		vowels = ['a', 'e', 'i', 'o', 'u']
		ret = []
		for i in range(m):
			for j in range(n):
				ret += vowels[(i + j) % 5]
		return ''.join(ret)
print(Sol.input().solve())


def sol():
	k = int(input())

	def fact(k):
		for x in range(5, k):
			if k % x == 0:
				return (x, k // x)
		return (1, 1)
	vows = list('aeiou')
	(m, n) = fact(k)
	if n < 5:
		print(-1)
		return None

	def print2d(x):
		res = ''
		for row in x:
			res += ''.join(row)
		print(res)
	print2d([vows[i:] + vows[:i] + [vows[i]] * (n - 5) for i in range(5)] + [list(vows) + ['x'] * (n - 5)] * (m - 5))
sol()


vow = 'aeiou'

def getVow(x, y):
	return vow[(x + y) % 5]

def makeString(n, m):
	chars = []
	for i in range(n * m):
		chars.append(getVow(i // n, i % n))
	return ''.join(chars)

def Solution(k):
	(n, m) = (5, 1)
	while n * n <= k:
		if k % n == 0:
			m = k // n
			break
		n += 1
	if m == 1:
		return -1
	return makeString(n, m)
print(Solution(int(input())))


from itertools import cycle
n = int(input())
glas = 'aeiou'
k = 0
for i in range(5, n):
	if n % i == 0 and n // i >= 5:
		k = i
		break
else:
	print(-1)
	exit(0)
for i in range(n // k):
	for (ind, elem) in enumerate(cycle(glas)):
		print(elem, end='')
		if ind == k - 1:
			break
	glas = ''.join((glas[1:], glas[0]))


from sys import exit
N = int(input())
k = -1
S = 'aeioueiouaiouaeouaeiuaeio'
T = 'aeiou'
for i in range(5, int(3 + N ** (1 / 2))):
	if N % i == 0 and N // i >= 5:
		k = i
		break
if k == -1:
	print(-1)
	exit()
G = [['a'] * k for _ in range(N // k)]
for l in range(25):
	(i, j) = divmod(l, 5)
	G[i][j] = S[l]
for i in range(5, k):
	for j in range(5):
		G[j][i] = T[j]
for i in range(5, N // k):
	for j in range(5):
		G[i][j] = T[j]
for i in range(N // k):
	G[i] = ''.join(G[i])
print(''.join(G))


n = int(input())

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
if n >= 25:
	s = 5
	while n % s != 0:
		s += 1
	j = n // s
	if j >= 5 and s >= 5:
		a = 'aeiou' + 's' * (s - 5)
		b = ''
		for i in range(j):
			b += a[s - i:] + a[:s - i]
		print(b)
	else:
		print(-1)
else:
	print(-1)


k = int(input())
m = -1
for n in range(5, k):
	if k % n == 0:
		m = k // n
		break
if m == -1 or m < 5:
	print(-1)
else:
	grid = []
	grid.append([i % 5 for i in range(m)])
	for i in range(1, n):
		grid.append([0] * m)
		for j in range(m):
			grid[i][j] = (grid[i - 1][j] + 1) % 5
	vowels = ['a', 'e', 'i', 'o', 'u']
	string = ''.join([''.join([vowels[c] for c in row]) for row in grid])
	print(string)


k = int(input())
s = 'aeiou'
for i in range(5, k + 1):
	if k % i > 0:
		continue
	j = k // i
	if i < 5 or j < 5:
		continue
	ans = ''
	for x in range(0, i):
		for y in range(0, j):
			ans += s[(x + y) % 5]
	print(ans)
	break
else:
	print(-1)


from sys import stdin, setrecursionlimit
from bisect import bisect_right
import math
setrecursionlimit(15000)

def make_early(string):
	myset = ['a', 'e', 'i', 'o', 'u']
	counter = -1
	for i in range(a):
		counter += 1
		for j in range(b):
			string[i][j] = myset[(j + counter) % 5]

def find_number(k):
	for i in range(5, k + 1):
		if k % i == 0:
			return (i, k // i)
	return (1, 1)
k = int(stdin.readline().strip())
(a, b) = find_number(k)
if a >= 5 and b >= 5:
	string = [[0 for x in range(b)] for y in range(a)]
	make_early(string)
	for i in range(a):
		for j in range(b):
			print(string[i][j], end='')
else:
	print(-1)


k = int(input())
for m in range(5, int(k ** 0.5) + 1):
	if k % m == 0 and k // m >= 5:
		a = ['aeiou' + 'a' * (m - 5)]
		for _ in range(k // m - 1):
			a.append(a[-1][-1] + a[-1][:-1])
		print(''.join(a))
		break
else:
	print(-1)


import math
k = ['a', 'e', 'i', 'o', 'u']
n = int(input())
for i in range(2, int(math.sqrt(n)) + 1):
	if n % i == 0 and i >= 5:
		s = []
		for j in range(i):
			t = []
			for z in range(n // i):
				t.append('a')
			s.append(t)
		for j in range(i):
			for z in range(n // i):
				s[j][z] = k[(z + j) % 5]
		string = ''
		for j in range(i):
			for z in range(n // i):
				string += s[j][z]
		print(string)
		exit(0)
print(-1)


k = int(input())
n = k
while n >= 5:
	if k % n == 0 and k // n >= 5:
		break
	n -= 1
if n < 5:
	print(-1)
else:
	for i in range(n):
		for j in range(k // n):
			print('aeiou'[(i + j) % 5], end='')


import math

def all_factors(k):
	factors = []
	lim = math.floor(k ** 0.5) + 1
	for i in range(1, lim):
		if k % i == 0:
			factors += [i, k // i]
	return factors

def make_vowelly_word(n, m):
	vowels = ['a', 'e', 'i', 'o', 'u']
	word = []
	for i in range(n):
		line = []
		idx = i % 5
		for j in range(m):
			line.append(vowels[idx])
			idx += 1
			idx = idx % 5
		word.append(''.join(line))
	word = ''.join(word)
	return word

def main():
	k = int(input())
	factors = all_factors(k)
	word = None
	for i in factors:
		if i >= 5 and k // i >= 5:
			word = make_vowelly_word(i, k // i)
	if word is None:
		print('-1')
	else:
		print(word)
main()


RI = lambda : [int(x) for x in input().split()]
from collections import defaultdict as df
import sys

def solve(n):
	if n < 25:
		print(-1)
	else:
		l = []
		for i in range(5, n // 5 + 1):
			if n % i == 0:
				l.append('aeiou')
				l.append('eioua')
				l.append('iouae')
				l.append('ouaei')
				l.append('uaeio')
				for j in range(i - 5):
					l.append('aeiou')
				temp = 'a' * (n // i - 5)
				for j in range(n // i - 5):
					l[0] += 'a'
				for j in range(n // i - 5):
					l[1] += 'e'
				for j in range(n // i - 5):
					l[2] += 'i'
				for j in range(n // i - 5):
					l[3] += 'o'
				for j in range(n // i - 5):
					l[4] += 'u'
				for j in range(5, i):
					l[j] += temp
				for j in range(i):
					print(l[j], end='')
				return
		print(-1)
n = int(input())
solve(n)


from math import sqrt
n = int(input())
if n < 25:
	print('-1')
else:
	factor1 = 1
	factor2 = 1
	for i in range(5, int(sqrt(n)) + 1):
		if n % i == 0:
			factor1 = i
			factor2 = n // i
	if factor1 == 1:
		print('-1')
	else:
		out = ''
		vals = 'aeiou'
		for i in range(factor2):
			for j in range(factor1):
				out += vals[(i + j) % 5]
		print(out)


def solve():
	n = int(input())
	for i in range(1, n):
		if n % i == 0:
			if i < 5 or n // i < 5:
				continue
			vowels = 'aeiou'
			ans = ''
			for j in range(n // i):
				for k in range(i):
					ans += vowels[(j + k) % 5]
			print(ans)
			return 0
	print(-1)
	return 0
solve()


a = ['u', 'e', 'o', 'a', 'i']
k = int(input())
if k < 25:
	print(-1)
else:
	i = 5
	while k % i != 0:
		i += 1
	n = i
	m = int(k / i)
	if i == k or m < 5:
		print(-1)
	else:
		for i in range(n):
			for j in range(m):
				print(a[(j + i) % 5], end='')


import sys
k = int(input())
if k < 25:
	print(-1)
	sys.exit()
for i in range(5, k // 2 + 1):
	if k % i == 0:
		z = 1
		break
p = k // i
l = i
if p < 5 or l < 5:
	print(-1)
	sys.exit()
d = [[0 for j in range(p)] for i in range(l)]
b = ['a', 'e', 'i', 'o', 'u']
for i in range(l):
	for j in range(p):
		d[i][j] = b[(i + j) % 5]
for i in range(l):
	for j in range(p):
		print(d[i][j], end='')


from math import sqrt
for i in range(1):
	n = int(input())
	ni = n
	ans = []
	while n % 2 == 0:
		n = n // 2
		ans.append(2)
	for i in range(3, int(sqrt(n)) + 1, 2):
		while n % i == 0:
			ans.append(i)
			n = n // i
	if n > 2:
		ans.append(n)
	p = len(ans)
	row = 1
	rowFlag = False
	colFlag = False
	store = 0
	for i in range(p):
		row *= ans[i]
		if row >= 5:
			store = i
			rowFlag = True
			break
	col = 1
	for i in range(store + 1, p):
		col *= ans[i]
	if col >= 5:
		colFlag = True
	arr = ['a', 'e', 'i', 'o', 'u']
	if ni == 36:
		rowFlag = True
		colFlag = True
		row = 6
		col = 6
	if not rowFlag or not colFlag:
		print(-1)
	else:
		for i in range(row):
			rowno = i % 5
			for j in range(col):
				colno = (rowno + j) % 5
				print(arr[colno], end='')


def gns():
	return [int(x) for x in input().split()]
k = int(input())
w = ['a', 'e', 'i', 'o', 'u']
for i in range(5, k // 5 + 2):
	if k % i != 0:
		continue
	j = k // i
	if i >= 5 and j >= 5:
		for ii in range(i):
			for jj in range(j):
				print(w[(ii + jj) % 5], end='')
		quit()
print('-1')


import math
x = 50000
boolSet = [False] * x
primeSet = []
numberSet = []
i = 0
j = 0
for i in range(2, x):
	if boolSet[i] == False:
		primeSet.append(i)
		for j in range(2, round(x / i)):
			boolSet[i * j] = True
		j += 1
i += 1
inp = int(input())
if inp in primeSet:
	print('-1')
	quit()
i = 0
for i in range(2, inp):
	numberSet.append(i)
i += 1
vowels1 = ['a', 'e', 'i', 'o', 'u']

def cases(a):
	switcher = {0: [], 1: ['a'], 2: ['a', 'e'], 3: ['a', 'e', 'i'], 4: ['a', 'e', 'i', 'o'], 5: ['a', 'e', 'i', 'o', 'u']}
	return switcher.get(a, '')

def appending(a):
	switcher = {'a': 'e', 'e': 'i', 'i': 'o', 'o': 'u', 'u': 'a'}
	return switcher.get(a, '')
num1 = int()
num2 = int()
for i in range(5, round(inp / 5) + 1):
	y = inp / i
	if y in numberSet:
		num1 = int(i)
		num2 = int(y)
i += 1
if num1 == 0:
	print('-1')
	quit()
s = ''
rem = num1 % 5
q = math.floor(num1 / 5)
final = vowels1 * q + cases(rem)
h = ''
i = 0
j = 0
for i in range(0, num2):
	for j in range(0, len(final)):
		a = final.pop(0)
		b = a
		s += a
		final.append(a)
	j += 1
	f = final.pop(0)
	g = f
	h += f
	final.append(appending(final[-1]))
i += 1
print(s)


import math
k = int(input())
dv = []
let = 'aeiou'
for i in range(5, int(math.sqrt(k)) + 1):
	if k % i == 0:
		dv.append(i)
		dv.append(k // i)
		break
if dv:
	dv.sort()
	n = dv[1]
	m = dv[0]
	s = ''
	fl = ''
	for i in range(m):
		fl += let[i % 5]
	s = fl
	for i in range(1, n):
		fl = fl[-1] + fl[:-1]
		s += fl
	print(s)
else:
	print(-1)


a = int(input())
flag = 1
b = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
for i in range(1, int(a ** 0.5 + 1)):
	if a % i == 0 and i > 4 and (int(a / i) > 4):
		flag = 0
		break
if flag:
	print('-1')
else:
	jk = ['a', 'e', 'i', 'o', 'u']
	pos = 0
	for k in range(int(a / i)):
		pos = (pos + 1) % 5
		if k > 4:
			b.append(['a', 'e', 'i', 'o', 'u'])
		while len(b[k]) != i:
			b[k].append(jk[pos % 5])
			pos += 1
		print(''.join(b[k]), end='')


import math

def solve():
	k = int(input())
	(n, m) = (-1, -1)
	for i in range(5, int(math.sqrt(k)) + 1):
		if k % i == 0 and k // i >= 5:
			(n, m) = (i, k // i)
			break
	if n == -1:
		print(-1)
		return
	vowel = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		for j in range(m):
			print(vowel[(i + j) % 5], end='')
	return
solve()


from math import sqrt
(a, b) = (0, 0)
amount = int(input())
for i in range(5, int(sqrt(amount)) + 1):
	if amount % i == 0:
		(a, b) = (i, amount // i)
ans = ''
arr = ['a', 'e', 'i', 'o', 'u']
if a == 0 and b == 0:
	print(-1)
else:
	for k in range(b):
		for i in range(a):
			ans += arr[i % 5]
		arr = [arr[1], arr[2], arr[3], arr[4], arr[0]]
	print(ans)


n = int(input())
num = 0
for i in range(5, int(n ** 0.5) + 1):
	if n % i == 0:
		num = i
		break
if num == 0:
	print(-1)
elif n // num < 5:
	print(-1)
else:
	str_ = 'aeiou'
	for i in range((num - 5) // 5):
		str_ += 'aeiou'
	x = num % 5
	if x % 5 == 4:
		str_ += 'a'
		x -= 1
	if x % 5 == 3:
		str_ += 'e'
		x -= 1
	if x % 5 == 2:
		str_ += 'i'
		x -= 1
	if x % 5 == 1:
		str_ += 'o'
		x -= 1
	ans = ''
	for i in range(n // num):
		ans += str_[i:]
		ans += str_[:i]
	print(ans)


import math
S = ['aiueo', 'iueoa', 'ueoai', 'eoaiu', 'oaiue']

def trial_division(n):
	factor = []
	tmp = int(math.sqrt(n)) + 1
	for num in range(2, tmp):
		while n % num == 0:
			n //= num
			factor.append(num)
	if not factor:
		return [n]
	else:
		factor.append(n)
		return factor
n = int(input())
l = sorted(trial_division(n))
if (1 in l) == True:
	l.remove(1)
if len(l) >= 2:
	a = l.pop(-1)
	if a < 5:
		a *= l.pop(0)
else:
	a = 1
b = 1
for i in l:
	b *= i
if a < 5 or b < 5:
	print(-1)
else:
	li = []
	for i in range(a):
		li.append(S[i % 5] * (b // 5) + S[i % 5][:b % 5])
	ans = ''.join(li)
	print(ans)


k = int(input())
if k < 25:
	print(-1)
	exit()
n = m = 0
for i in range(5, k + 1):
	if k % i == 0 and k // i >= 5:
		n = i
		m = k // i
		break
if n == 0:
	print(-1)
else:
	s = ['a', 'e', 'i', 'o', 'u']
	x = k = 0
	for i in range(0, n):
		x = k
		for j in range(0, m):
			print(s[x], end='')
			x += 1
			if x == 5:
				x = 0
		k += 1
		if k == 5:
			k = 0


n = int(input())
(a, b) = (-1, -1)
i = 5
while i * i <= n:
	if n % i == 0 and n / i >= 5:
		a = i
		b = n / i
		break
	i += 1
if a == -1 and b == -1:
	print(-1)
	exit()
if a % 5 != 0:
	s = 'aeiou' * 2000
	print(s[:n])
else:
	l = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	for _ in range(n // 5):
		print(l[_ % 5], end='')


matrix = [['a', 'e', 'i', 'o', 'u'], ['u', 'a', 'e', 'i', 'o'], ['o', 'u', 'a', 'e', 'i'], ['i', 'o', 'u', 'a', 'e'], ['e', 'i', 'o', 'u', 'a']]
k = int(input())
for n in range(5, k):
	m = k / n
	if m == int(m) and m >= 5:
		break
else:
	print(-1)
	exit()
m = int(m)
ans = []
for i in range(n):
	ans.append([])
	for j in range(m):
		ans[-1].append('a')
for i in range(5):
	for j in range(5):
		ans[i][j] = matrix[i][j]
for i in range(5, n):
	ans[i][0] = 'a'
	ans[i][1] = 'e'
	ans[i][2] = 'i'
	ans[i][3] = 'o'
	ans[i][4] = 'u'
for j in range(5, m):
	ans[0][j] = 'a'
	ans[1][j] = 'e'
	ans[2][j] = 'i'
	ans[3][j] = 'o'
	ans[4][j] = 'u'
for i in ans:
	for j in i:
		print(j, end='')
print()


import math

def run():
	n = int(input())
	k = math.floor(math.sqrt(n))
	p = 0
	for i in range(2, k + 1):
		if n % i == 0 and i >= 5:
			p = i
			t = n // p
			break
	if p == 0:
		print(-1)
		return
	s = ''
	g = 'aeiou'
	G = math.ceil(p / 5) * 2 * g
	for i in range(t):
		s += G[i % p:i % p + p]
	print(s)
run()


n = int(input())
a = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
i = 5
d = ['a', 'e', 'i', 'o', 'u']
while 1:
	if n % i == 0:
		m = n // i
		if n // i >= 5:
			for b in range(i):
				s = a[b % 5]
				print(a[b % 5] * (m // 5) + s[:m % 5], end='')
			exit()
	i += 1
	if i >= 100:
		print(-1)
		exit()


import math
k = int(input())
(n, n1) = (0, 0)
for i in range(5, int(math.sqrt(k)) + 2):
	if k % i == 0:
		if i >= 5 and k // i >= 5:
			(n, n1) = (i, k // i)
			break
s = 'aeiou'
ans = ''
if n == 0:
	print(-1)
	exit()
for x in range(n):
	for y in range(n1):
		ans += s[(x + y) % 5]
print(ans)


k = int(input())
flag = 1
for i in range(5, int(k ** 0.5) + 1):
	if k % i == 0:
		if i >= 5 and k // i >= 5:
			n = i
			m = k // i
			flag = 0
if flag:
	print(-1)
else:
	s = ''
	x = 'aeiou'
	for i in range(n):
		s += x * (m // 5) + x[0:m % 5]
		x = x[1:] + x[0]
	print(s)


n = int(input())
i = 1
ll = 0
while i <= n:
	if n % i == 0:
		if i >= 5 and n / i >= 5:
			x = i
			y = n / i
			ll = 1
			break
	i += 1
if ll == 0:
	print(-1)
else:
	x = int(x - 5)
	y = int(y - 5)
	c = 'aeiou' + x * 'a'
	print('aeiou' + 'a' * x + 'eauio' + 'e' * x + 'ioaue' + 'i' * x + 'oueai' + 'o' * x + 'uioea' + 'u' * x + y * c)


k = int(input())
n = m = 0
f = False
pa = 'aeoui' * 1000
for i in range(5, 101):
	if k % i == 0:
		tem = k / i
		if tem >= 5:
			n = i
			m = int(tem)
			f = True
			break
if f:
	tem = ''
	for i in range(m):
		tem += pa[i:i + n]
	print(tem)
else:
	print(-1)


def measure(k):
	(n, m) = (-1, -1)
	for i in range(5, k):
		if k % i == 0 and k // i >= 5:
			(n, m) = (i, k // i)
	if (n, m) == (-1, -1):
		return -1
	board = [['a'] * m for _ in range(n)]
	return board

def fill(board, BOARD_TEMPLATE, x, y):
	for i in range(5):
		for j in range(5):
			board[x + i][y + j] = BOARD_TEMPLATE[i][j]

def solve(k):
	TEMPLATE = 'aieou'
	BOARD_TEMPLATE = [list('aieou'), list('ieoua'), list('eouai'), list('ouaie'), list('uaieo')]
	board = measure(k)
	if board == -1:
		return -1
	(n, m) = (len(board), len(board[0]))
	(x, y) = (0, 0)
	while x + 5 <= n and y + 5 <= m:
		fill(board, BOARD_TEMPLATE, x, y)
		x += 5
		y += 5
	for i in range(x, n):
		for t in range(5):
			board[i][y - 1 - t] = TEMPLATE[t]
	for j in range(y, m):
		for t in range(5):
			board[x - 1 - t][j] = TEMPLATE[t]
	ans = ''
	for x in board:
		ans += ''.join(x)
	return ans

def main():
	k = int(input())
	print(solve(k))
main()


k = int(input())
vow = ['a', 'e', 'i', 'o', 'u']
ans = -1
rk = k // 5 + 3
for i in range(5, rk):
	for j in range(5, rk):
		if i * j == k:
			ansm = [['a' for t2 in range(j)] for t1 in range(i)]
			for t1 in range(i):
				for t2 in range(j):
					ansm[t1][t2] = vow[(t1 + t2) % 5]
			ans = ''.join([''.join(t) for t in ansm])
			break
	if ans != -1:
		break
print(ans)


n = int(input())
if n < 25:
	print(-1)
	exit()
f = 0
for i in range(5, n):
	if n % i == 0 and n // i >= 5:
		f = 1
		t = [[' ' for i in range(i)] for j in range(n // i)]
		v = 'aeiou'
		ans = 0
		for j in range(n // i):
			ans = ans % 5
			cnt = ans
			for k in range(i):
				t[j][k] = v[cnt % 5]
				cnt += 1
			ans += 1
		break
if f == 0:
	print(-1)
else:
	s = ''
	for i in range(len(t)):
		s += ''.join(t[i])
	print(s)


def allFactors(A):
	Q = []
	R = []
	for i in range(1, int(A ** 0.5) + 1):
		if A % i == 0:
			if i != A // i:
				Q.append(i)
				R.append(A // i)
			else:
				Q.append(i)
	for i in range(len(R) - 1, -1, -1):
		Q.append(R[i])
	return Q
t = int(input())
ans = allFactors(t)
if len(ans) == 2:
	print(-1)
else:
	cur = len(ans)
	do = 0
	val2 = 0
	val3 = 0
	if cur % 2 == 0:
		if ans[cur // 2] >= 5 and ans[cur // 2 - 1] >= 5:
			do = 0
			val3 = ans[cur // 2]
			val2 = ans[cur // 2 - 1]
		else:
			do = -1
	elif ans[cur // 2] >= 5:
		do = 0
		val2 = ans[cur // 2]
	else:
		do = -1
	if do == -1:
		print(-1)
	elif val3 == 0:
		p1 = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
		sop = ['g']
		pos = ''
		for i in range(val2):
			left_index = 0
			left_index = i % 5
			if i < 5:
				pos = pos + p1[i]
			else:
				pos = pos + p1[left_index]
			for j in range(val2):
				if j > 4:
					left = val2 - 1 - j
					index = left % 5
					pos = pos + p1[left_index][index]
		print(pos)
	else:
		p1 = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
		sop = ['g']
		pos = ''
		for i in range(val3):
			left_index = 0
			left_index = i % 5
			if i < 5:
				pos = pos + p1[i]
			else:
				pos = pos + p1[left_index]
			for j in range(val2):
				if j > 4:
					left = val2 - 1 - j
					index = left % 5
					pos = pos + p1[left_index][index]
		print(pos)


import math
k = int(input())

def rotate(s, i):
	i %= len(s)
	if i == 0:
		return s
	return s[i:] + s[0:i]
if k >= 25:
	a = None
	for i in range(5, int(math.sqrt(k)) + 1):
		if k % i == 0:
			a = i
			break
	if a is None:
		print(-1)
	else:
		v = ('aeiou' * a)[:a]
		s = ''
		for i in range(k // a):
			s += rotate(v, i)
		print(s)
else:
	print(-1)


n = int(input())

def shift(seq, n):
	n = n % len(seq)
	return seq[n:] + seq[:n]
a = []
d = []
q = 0
for i in range(1, n + 1):
	if n % i == 0:
		a.append(i)
for i in range(len(a)):
	if a[i] >= 5 and n / a[i] >= 5:
		q = a[i]
		w = int(n / q)
cv = []
qw = ['a', 'e', 'i', 'o', 'u']
if q > 0:
	for i in range(q):
		for j in range(w):
			cv.append(qw[int(j % 5)])
		qw = shift(qw, 1)
	print(''.join(cv))
else:
	print(-1)


def printpatt(s, m):
	yo = m // 5
	ro = m % 5
	for i in range(yo):
		print(s, end='')
	print(s[:ro], end='')
k = int(input())
if k < 25:
	print(-1)
else:
	m = -1
	n = -1
	for i in range(5, k):
		if k % i == 0:
			m = i
			n = k // i
			break
	if m >= 5 and n >= 5:
		for i in range(n):
			yo = i % 5
			if yo == 0:
				printpatt('auoie', m)
			elif yo == 1:
				printpatt('eauoi', m)
			elif yo == 2:
				printpatt('ieauo', m)
			elif yo == 3:
				printpatt('oieau', m)
			elif yo == 4:
				printpatt('uoiea', m)
		print()
	else:
		print(-1)


k = int(input())
i = 2
dz = 0
dick = {}
dick[0] = 'a'
dick[1] = 'e'
dick[2] = 'i'
dick[3] = 'o'
dick[4] = 'u'
while i < k:
	if k % i == 0 and i > 4:
		dz = i
		break
	i += 1
if not (dz > 4 and k // dz > 4):
	print(-1)
else:
	odp = [[dick[(i + j) % 5] for i in range(dz)] for j in range(k // dz)]
	for i in range(dz):
		for j in range(k // dz):
			print(odp[j][i], end='')


n = int(input())
import math
a = -1
b = -1
for i in range(1, int(math.sqrt(n)) + 1):
	if n % i == 0:
		if i >= 5 and n // i >= 5:
			a = i
			b = n // i
			break
if a == -1 and b == -1:
	print('-1')
else:
	s = ['a', 'e', 'i', 'o', 'u']
	ans = []
	for i in range(a):
		for j in range(b):
			ans.append(s[(i + j) % 5])
	print(''.join(ans))


import math
k = int(input())
for n in range(5, k):
	if k % n == 0 and k // n >= 5:
		m = k // n
		s = 'aeiou'
		ans = s * (n // 5 + 1)
		ans = ans[:n]
		for i in range(m):
			print(ans[i:] + ans[:i], end='')
		break
else:
	print(-1)


n = int(input())
k = 5
flag = 0
while k * k <= n:
	if n % k == 0:
		flag = 1
		break
	k += 1
if flag:
	a = n // k
	s = 'aeiou'
	ans = ''
	for i in range(a):
		g = k // 5
		f = k % 5
		ans += g * s + s[:f]
		s = s[1:] + s[0]
	print(ans)
else:
	print(-1)


N = int(input())
v = 'aiueo'
for i in range(5, N):
	if N % i == 0 and N // i >= 5:
		j = N // i
		ans = ''
		for a in range(i):
			ans += ''.join([v[(a + b) % 5] for b in range(j)])
		print(ans)
		break
else:
	print(-1)


k = int(input())
if k < 25:
	print(-1)
else:
	n = 5
	b = False
	s = ''
	while n * n <= k:
		if k % n == 0:
			b = True
			break
		else:
			n += 1
	if b:
		for i in range(1, n + 1):
			for j in range(1, k // n + 1):
				s += 'aeiou'[(i + j) % 5]
		print(s)
	else:
		print(-1)


(k, flag) = (int(input()), False)
for i in range(5, k + 1):
	if k % i == 0 and int(k / i) >= 5:
		flag = True
		break
if flag:
	(n, m) = (i, int(k / i))
	print('aeiou', end='')
	for i in range(m - 5):
		print('a', end='')
	print('eioua', end='')
	for i in range(m - 5):
		print('e', end='')
	print('iouae', end='')
	for i in range(m - 5):
		print('i', end='')
	print('ouaei', end='')
	for i in range(m - 5):
		print('o', end='')
	print('uaeio', end='')
	for i in range(m - 5):
		print('u', end='')
	for j in range(n - 5):
		print('aeiou', end='')
		for i in range(m - 5):
			print('a', end='')
else:
	print('-1')


n = int(input())
u = []
i = 2
while i * i <= n:
	if n % i == 0:
		u.append(i)
	i += 1
i = 0
while i < len(u) and u[i] < 5:
	i += 1
if i == len(u):
	print(-1)
	exit()
k = u[i]
m = n // k
a = []
for i in range(k):
	a.append([''] * m)
s = [''] * k
e = ['a', 'e', 'i', 'o', 'u']
for i in range(k):
	s[i] = e[i % 5]
ans = ''
for i in range(k):
	for j in range(m):
		w = s[(i + j) % 5]
		a[i][j] = s[(i + j) % 5]
		ans += a[i][j]
print(ans)


k = int(input())
l = 0
vowels = 'aeiou'
for i in range(5, int(k ** 0.5) + 1):
	if k % i == 0:
		l = i
		w = k // i
		break
if l:
	out = ''
	for i in range(l):
		for j in range(w):
			out += vowels[(i + j) % 5]
	print(out)
else:
	print(-1)


import sys
vovels = 'aeiou'
n = int(input())
if n < 25:
	print(-1)
	sys.exit()
s = int(n ** 0.5)
while not (n / s).is_integer():
	s -= 1
if s < 5:
	print(-1)
	sys.exit()
for i in range(s):
	for j in range(n // s):
		print(vovels[(i + j) % 5], sep='', end='')


k = int(input())
if k < 25:
	print(-1)
else:
	f = 0
	for i in range(5, k):
		if k % i == 0:
			if int(k // i) >= 5:
				n = i
				m = int(k / n)
				f = 1
	if f == 0:
		print(-1)
	else:
		v = ['a', 'e', 'i', 'o', 'u']
		for i in range(n):
			k = i % 5
			for j in range(m):
				print(v[(k + j) % 5], end='')


import sys
from bisect import bisect_left, bisect_right, insort
from collections import deque, Counter
from math import gcd, sqrt, factorial, ceil, log10, log2, floor
from itertools import permutations
from heapq import heappush, heappop, heapify
inf = float('inf')
mod = 998244353

def factorial_p(n, p):
	ans = 1
	if n <= p // 2:
		for i in range(1, n + 1):
			ans = ans * i % p
	else:
		for i in range(1, p - n):
			ans = ans * i % p
		ans = pow(ans, p - 2, p)
		if n % 2 == 0:
			ans = p - ans
	return ans

def nCr_p(n, r, p):
	ans = 1
	while n != 0 or r != 0:
		(a, b) = (n % p, r % p)
		if a < b:
			return 0
		ans = ans * factorial_p(a, p) * pow(factorial_p(b, p), p - 2, p) * pow(factorial_p(a - b, p), p - 2, p) % p
		n //= p
		r //= p
	return ans

def prime_sieve(n):
	flag = n % 6 == 2
	sieve = bytearray((n // 3 + flag >> 3) + 1)
	for i in range(1, int(n ** 0.5) // 3 + 1):
		if not sieve[i >> 3] >> (i & 7) & 1:
			k = 3 * i + 1 | 1
			for j in range(k * k // 3, n // 3 + flag, 2 * k):
				sieve[j >> 3] |= 1 << (j & 7)
			for j in range(k * (k - 2 * (i & 1) + 4) // 3, n // 3 + flag, 2 * k):
				sieve[j >> 3] |= 1 << (j & 7)
	return sieve

def prime_list(n):
	res = []
	if n > 1:
		res.append(2)
	if n > 2:
		res.append(3)
	if n > 4:
		sieve = prime_sieve(n + 1)
		res.extend((3 * i + 1 | 1 for i in range(1, (n + 1) // 3 + (n % 6 == 1)) if not sieve[i >> 3] >> (i & 7) & 1))
	return res

def is_prime(n):
	if n < 5 or n & 1 == 0 or n % 3 == 0:
		return 2 <= n <= 3
	s = (n - 1 & 1 - n).bit_length() - 1
	d = n >> s
	for a in [2, 325, 9375, 28178, 450775, 9780504, 1795265022]:
		p = pow(a, d, n)
		if p == 1 or p == n - 1 or a % n == 0:
			continue
		for _ in range(s):
			p = p * p % n
			if p == n - 1:
				break
		else:
			return False
	return True

def all_factors(n):
	(small, large) = ([], [])
	for i in range(1, int(n ** 0.5) + 1, 2 if n & 1 else 1):
		if not n % i:
			small.append(i)
			large.append(n // i)
	large.reverse()
	small.extend(large)
	return small

def count(n):
	return n * (n + 1) // 2

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def input():
	return sys.stdin.readline().strip()
n = int(input())
result = all_factors(n)
length = len(result)
flag = 0
for i in range(length // 2):
	if result[i] >= 5 and result[length - i - 1] >= 5:
		flag = 1
		n = result[i]
		m = result[length - i - 1]
		break
if flag == 0:
	print(-1)
	exit()
mat = []
word = 'aeiou'
word = word * (m // 5)
z = m % 5
word += word[:z]
mat.append(word)
l = len(word)
for i in range(1, n):
	new_word = word[1:]
	new_word += word[l % 5]
	mat.append(new_word)
	word = new_word
print(''.join(mat))


k = int(input().strip())
if k < 25:
	print(-1)
	quit()

def factors(n):
	from functools import reduce
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))
facs = factors(k)
(n, m) = (-1, -1)
for f in facs:
	if f >= 5 and k // f >= 5:
		(n, m) = (f, k // f)
		break
(n, m) = (m, n)
if n == -1 and m == -1:
	print(-1)
	quit()
grid = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
for i in range(len(grid)):
	grid[i] = grid[i] + grid[i][:m - 5]
for i in range(n - 5):
	grid.append(grid[0])
ans = ''.join(grid)
print(ans)


k = int(input())
pos = False
a = -1
b = -1
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		a = i
		b = k // i
		pos = True
arr = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
if not pos:
	print(-1)
else:
	for i in range(a):
		print(arr[i % 5] * (b // 5) + arr[i % 5][:b % 5], end='')
	print('')


k = int(input())
stuff = ['aeiou', 'uaeio', 'ouaei', 'iouae', 'eioua']
for x in range(1, int(k ** 0.5) + 1):
	if x < 5:
		continue
	if k % x == 0 and k // x >= 5:
		out = ''
		steps = (4 + k // x) // 5
		for _ in range(x):
			add = stuff[_ % 5] * steps
			out += add[:k // x]
		print(out)
		break
else:
	print(-1)


n = int(input())
(a, b) = (0, 0)
for i in range(1, 101):
	if n % i == 0 and i >= 5 and (n // i >= 5):
		a = i
		b = n // i
		break
if a == 0 and b == 0:
	print(-1)
else:
	arr = ['a', 'e', 'i', 'o', 'u']
	s = ''
	for i in range(a):
		for j in range(b):
			s += arr[(i + j) % 5]
	print(s)


n = int(input())
if n < 25:
	print(-1)
else:
	for i in range(5, n + 1):
		if n % i == 0:
			r = i
			c = n // i
			break
	if c >= 5:
		mark = [[_ for _ in range(c)] for _ in range(r)]
		a = 'aeiou'
		for i in range(r):
			idex = i
			if idex > 4:
				idex = 0
			for j in range(5):
				mark[i][j] = a[idex]
				idex += 1
				if idex > 4:
					idex = 0
		for i in range(5, c):
			idex = 0
			for j in range(r):
				mark[j][i] = a[idex]
				idex += 1
				if idex > 4:
					idex = 0
		t = ''
		for v in mark:
			t += ''.join(v)
		print(t)
	else:
		print(-1)


from math import *
n = int(input())
l = []
i = 1
while i * i <= n:
	if i * i == n:
		l.append(i)
	elif n % i == 0:
		l.append(i)
		l.append(n // i)
	i += 1
l = sorted(l)
i = 0
while i < len(l):
	if l[i] >= 5:
		break
	i += 1
if i == len(l):
	print(-1)
	exit()
a = l[i]
b = n // l[i]
(a, b) = (min(a, b), max(a, b))
if a < 5 or b < 5:
	print(-1)
	exit()
ans = []
for i in range(0, a):
	l = ['r'] * b
	ans.append(l)
for i in range(0, a):
	if i % 5 == 0:
		for j in range(0, b):
			if j % 5 == 0:
				ans[i][j] = 'a'
			elif j % 5 == 1:
				ans[i][j] = 'e'
			elif j % 5 == 2:
				ans[i][j] = 'i'
			elif j % 5 == 3:
				ans[i][j] = 'o'
			else:
				ans[i][j] = 'u'
	elif i % 5 == 1:
		for j in range(0, b):
			if j % 5 == 0:
				ans[i][j] = 'e'
			elif j % 5 == 1:
				ans[i][j] = 'i'
			elif j % 5 == 2:
				ans[i][j] = 'o'
			elif j % 5 == 3:
				ans[i][j] = 'u'
			else:
				ans[i][j] = 'a'
	elif i % 5 == 2:
		for j in range(0, b):
			if j % 5 == 0:
				ans[i][j] = 'i'
			elif j % 5 == 1:
				ans[i][j] = 'o'
			elif j % 5 == 2:
				ans[i][j] = 'u'
			elif j % 5 == 3:
				ans[i][j] = 'a'
			else:
				ans[i][j] = 'e'
	elif i % 5 == 3:
		for j in range(0, b):
			if j % 5 == 0:
				ans[i][j] = 'o'
			elif j % 5 == 1:
				ans[i][j] = 'u'
			elif j % 5 == 2:
				ans[i][j] = 'a'
			elif j % 5 == 3:
				ans[i][j] = 'e'
			else:
				ans[i][j] = 'i'
	else:
		for j in range(0, b):
			if j % 5 == 0:
				ans[i][j] = 'u'
			elif j % 5 == 1:
				ans[i][j] = 'a'
			elif j % 5 == 2:
				ans[i][j] = 'e'
			elif j % 5 == 3:
				ans[i][j] = 'i'
			else:
				ans[i][j] = 'o'
for i in ans:
	for j in i:
		print(j, end='')
print()


vowels = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']

def trysplit(k):
	if k < 25:
		return (0, 0)
	for i in range(5, int(k ** 0.5) + 1):
		if k % i == 0:
			return (i, int(k / i))
	return (0, 0)

def word(k):
	(n, m) = trysplit(k)
	if n == m == 0:
		return -1
	w = ''
	for s in range(n):
		v = vowels[s % 5]
		w += v * int(m / 5) + v[:m % 5]
	return w
length = int(input())
print(word(length))


n = int(input())
nq = n - 1

def shuffle(s):
	a = s.pop(0)
	s.append(a)
if n < 25:
	print('-1')
else:
	while n % nq != 0 or n // nq < 5:
		nq -= 1
	if nq == 1 or nq < 5 or n // nq < 5:
		print('-1')
	else:
		vowels = ['a', 'e', 'i', 'o', 'u']
		x = nq
		y = n // nq
		result = ''
		for k in range(x):
			for j in range(y):
				result += vowels[j % 5]
			shuffle(vowels)
		print(result)


import math
n = int(input())
v = ['a', 'e', 'i', 'o', 'u']
if n < 25:
	print(-1)
else:
	found = 0
	for i in range(5, int(math.sqrt(n)) + 1):
		if n % i == 0 and n // i >= 5:
			p = i
			q = n // i
			found = 1
			break
	if found:
		for i in range(p):
			for j in range(q):
				if i <= p - p % 5 - 1 and j <= q - q % 5 - 1:
					print(v[(i % 5 + j % 5) % 5], end='')
				elif i > p - p % 5 - 1 and j < 5:
					print(v[j], end='')
				elif j > q - q % 5 - 1 and i < 5:
					print(v[i], end='')
				else:
					print(v[(i + j) % 5], end='')
	else:
		print(-1)


k = int(input())
r = 0
c = 0
for i in range(5, k + 1):
	if k % i == 0:
		if k / i >= 5:
			r = i
			c = int(k / r)
			break
if r < 5 or c < 5:
	print(-1)
	exit(0)
w = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
s = ''
for i in range(0, r):
	for j in range(0, c):
		s += w[i % 5][j % 5]
print(s)


k = int(input())
(n, m) = (0, 5)
flag = 0
while m <= k:
	n = k // m
	if n * m == k and n >= 5 and (m >= 5):
		flag = 1
		break
	m += 1
if flag == 0:
	print('-1')
else:
	l = []
	for i in range(1, n + 1):
		s = ''
		for j in range(1, m + 1):
			if i == 1:
				if j == 1:
					s += 'a'
				if j == 2:
					s += 'e'
				if j == 3:
					s += 'i'
				if j == 4:
					s += 'o'
				if j == 5:
					s += 'u'
				if j > 5:
					s += s[j - 5 - 1]
			if i == 2:
				if j == 1:
					s += 'e'
				if j == 2:
					s += 'i'
				if j == 3:
					s += 'o'
				if j == 4:
					s += 'u'
				if j == 5:
					s += 'a'
				if j > 5:
					s += s[j - 5 - 1]
			if i == 3:
				if j == 1:
					s += 'i'
				if j == 2:
					s += 'o'
				if j == 3:
					s += 'u'
				if j == 4:
					s += 'a'
				if j == 5:
					s += 'e'
				if j > 5:
					s += s[j - 5 - 1]
			if i == 4:
				if j == 1:
					s += 'o'
				if j == 2:
					s += 'u'
				if j == 3:
					s += 'a'
				if j == 4:
					s += 'e'
				if j == 5:
					s += 'i'
				if j > 5:
					s += s[j - 5 - 1]
			if i == 5:
				if j == 1:
					s += 'u'
				if j == 2:
					s += 'a'
				if j == 3:
					s += 'e'
				if j == 4:
					s += 'i'
				if j == 5:
					s += 'o'
				if j > 5:
					s += s[j - 5 - 1]
			if i > 5:
				s += l[i - 5 - 1]
				break
		l.append(s)
	print(''.join(l))


k = int(input())
x_1 = 'aeiou'
for i in range(5, k):
	if k < 25:
		print(-1)
		break
	elif k % i == 0 and k // i >= 5 and (k % 25 != 0):
		print(k // 5 * x_1 + (k - 5 * (k // 5)) * 'a')
		break
	elif k % i == 0 and k // i >= 5 and (k % 25 == 0):
		print(k // 25 * 'aeioueiouaiouaeouaeiuaeio')
		break
else:
	print(-1)


def move(string, key):
	good = ['a', 'e', 'i', 'o', 'u']
	d = {'a': 0, 'e': 1, 'i': 2, 'o': 3, 'u': 4}
	ans = ''
	for i in range(len(string)):
		ans += good[(d[string[i]] + key) % 5]
	return ans

def main():
	from math import sqrt
	good = ['a', 'e', 'i', 'o', 'u']
	k = int(input())
	flag = False
	(x, y) = (-1, -1)
	for i in range(2, int(sqrt(k)) + 1):
		if k % i == 0 and i >= 5 and (k // i >= 5):
			(x, y) = (i, k // i)
			flag = True
			break
	if not flag:
		print(-1)
		return 0
	s = ''
	for i in range(x):
		s += good[i % 5]
	d = {0: move(s, 0), 1: move(s, 1), 2: move(s, 2), 3: move(s, 3), 4: move(s, 4)}
	for j in range(y):
		print(d[j % 5], end='')
main()


seq = lambda : list(map(int, input().strip().split()))
inp = lambda : int(input())
mul = lambda : map(int, input().strip().split())
n = inp()
ver = -1
sq = int(n ** 0.5)
if sq >= 5:
	d = 1
	for i in range(5, sq + 1):
		if n % i == 0:
			d = i
			break
	if d == 1:
		print(-1)
		exit()
	q = n // d
	l = [['' for i in range(d)] for j in range(q)]
	p = 'aeiou'
	for i in range(q):
		for j in range(d):
			l[i][j] = p[(i + j) % 5]
	ver = ''
	for i in range(q):
		ver += ''.join(l[i])
print(ver)


k = int(input())
if k < 25:
	print(-1)
else:
	flag = 0
	for i in range(5, k + 1):
		if k % i == 0 and int(k / i) >= 5:
			m = i
			n = int(k / i)
			flag = 1
			break
	if flag == 0:
		print(-1)
	else:
		a = 0
		b = 0
		l = ['a', 'e', 'i', 'o', 'u']
		ans = []
		for i in range(n):
			a = b
			b = (b + 1) % 5
			for j in range(m):
				ans.append(l[a])
				a = (a + 1) % 5
		print(''.join(ans))


k = int(input())
n = int(k ** 0.5)
while k % n:
	n -= 1
if n < 5 or k // n < 5:
	print(-1)
else:
	s = 'aeiou' * (n // 5) + 'aeiou'[:n % 5]
	for i in range(k // n):
		print(s[i:] + s[:i], end='')


n = int(input())
s = 'aeiou'
x = 5
while n // x >= x:
	if n % x == 0:
		print(''.join(map(lambda i: s[(i // x + i % x) % 5], range(n))))
		break
	x += 1
else:
	print(-1)


def fact(x):
	p = 0
	for i in range(5, x // 5):
		if x % i == 0:
			p = i
			break
	return True if p > 0 else False
k = int(input())
s = ['a', 'e', 'i', 'o', 'u']
if k < 25 or (k > 25 and (not fact(k))):
	print(-1)
else:
	if k % 25 == 0:
		for i in range(0, k // 5):
			for item in s:
				print(item, end='')
			for j in range(1, len(s)):
				(s[j - 1], s[j]) = (s[j], s[j - 1])
	else:
		print('aeiou' * (k // 5), end='')
	k = k - 5 * (k // 5)
	for item in s[:k]:
		print(item, end='')


from sys import stdin
from math import sqrt, floor
from functools import reduce
from itertools import count, islice

def isPrime(n):
	return n > 1 and all((n % i for i in islice(count(2), int(sqrt(n) - 1))))

def isPerfectSquare(x):
	sr = sqrt(x)
	return sr - floor(sr) == 0

def Way(n):
	i = 2
	a = []
	while i * i < n:
		if n % i == 0:
			a.append([i, n // i])
		i += 1
	if isPerfectSquare(n):
		a.append([int(sqrt(n)), int(sqrt(n))])
	return a
k = int(stdin.readline())
if isPrime(k) or k < 25:
	print(-1)
else:
	ans = Way(k)
	ans = list(filter(lambda x: x[0] >= 5 and x[1] >= 5, ans))
	if len(ans) == 0:
		print(-1)
	else:
		(a, b) = (ans[0][0], ans[0][1])
		m = ''
		c = a - 5
		for i in range(b):
			if i % 5 == 0:
				m += 'aeiou' + 'a' * c
			elif i % 5 == 1:
				m += 'eioua' + 'e' * c
			elif i % 5 == 2:
				m += 'iouae' + 'i' * c
			elif i % 5 == 3:
				m += 'ouaei' + 'o' * c
			else:
				m += 'uaeio' + 'u' * c
		print(m)


import string
import random

def prime(n):
	return all([n % j for j in range(2, int(n ** 0.5) + 1)]) and n > 1
n = int(input())
if n < 25 or prime(n):
	print(-1)
else:
	cte = 5
	while n % cte != 0:
		cte += 1
	a = ''
	row = min(cte, n // cte)
	col = max(cte, n // cte)
	if row < 5 or col < 5:
		print(-1)
	else:
		vowe = ['ioaeu', 'ueoia', 'eaiuo', 'aueoi', 'oiuae']
		for i in range(row):
			vow = vowe[i % 5]
			j = 5
			while j < col:
				vow += vowe[i % 5][j % 5]
				j += 1
			a += vow
		print(a)


import math, sys

def factor(n):
	factors = []
	for i in range(5, round(math.sqrt(n)) + 1):
		if n % i == 0 and n // i >= 5:
			factors.append(i)
			factors.append(n // i)
	if len(factors) > 1:
		return factors
k = int(input())
factors = factor(k)
if not factors:
	print(-1)
	sys.exit()
else:
	n = factors[0]
	m = k // n
padding = 'aeiou' * ((n * m + 2) // 5)
answer = []
for i in range(m):
	answer.append(padding[i:n + i])
print(''.join(answer))


t = int(input())

def f(value):
	for i in range(1, int(value ** 0.5) + 1):
		if i >= 5 and value // i >= 5 and (value % i == 0):
			return [True, (i, value // i)]
	return [False]
if f(t)[0]:
	pair = f(t)[1]
	l = 'aeiou'
	ans = ''
	for i in range(pair[0]):
		for j in range(pair[1]):
			ans += l[(i + j) % 5]
	print(ans)
else:
	print(-1)


n = int(input())
d1 = 5
a = ['a', 'i', 'o', 'e', 'u']
if d1 < n // 2:
	while d1 < n // 2:
		if n % d1 == 0:
			break
		d1 += 1
	if n % d1 == 0 and n // d1 >= 5:
		d2 = n // d1
		kk = 0
		rr = 0
		stri = ''
		for i in range(d1):
			for i in range(d2):
				stri += a[(kk + rr) % 5]
				kk += 1
			kk = 0
			rr += 1
		print(stri)
	else:
		print(-1)
else:
	print(-1)


def factorial(x):
	if x <= 1:
		return 1
	else:
		return x * factorial(x - 1)

def A():
	n = int(input())
	first_letter_dict = {}
	first_class = []
	second_class = []
	x = 0
	for i in range(n):
		name = input()
		if name[0] in first_letter_dict.keys():
			first_letter_dict[name[0]] += 1
		else:
			first_letter_dict[name[0]] = 1
	nums = [first_letter_dict[k] for k in first_letter_dict.keys()]
	for n in nums:
		if n == 1:
			first_class.append(n)
		else:
			first_class.append(n // 2)
			second_class.append(n - n // 2)
	for s in first_class:
		if s != 1:
			x += factorial(s) / (2 * factorial(s - 2))
	for s in second_class:
		if s != 1:
			x += factorial(s) / (2 * factorial(s - 2))
	print(int(x))

def check(x):
	n = int(x ** 0.5) + 1
	for i in range(5, n):
		if x % i == 0:
			return (i, x // i)
	return (-1, -1)

def B():
	k = int(input())
	(n, m) = check(k)
	if n == -1 and m == -1:
		print(-1)
	else:
		base = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
		result = ''
		for i in range(n):
			for j in range(m):
				if i < 5 and j < 5:
					result += base[i][j]
				elif j >= 5 and i < 5:
					result += base[i][0]
				elif i >= 5 and j < 5:
					result += base[0][j]
				else:
					result += 'n'
		print(result)

def C():
	n = int(input())
	A = list(map(int, input().split()))
	A = [abs(a) for a in A]
	A.sort()
	j = 0
	ANS = 0
	for i in range(n - 1):
		while j < n - 1 and A[j + 1] - A[i] <= A[i]:
			j += 1
		ANS += j - i
	print(ANS)
B()


k = int(input())
t = k // 5
a = 'aiueo'
if k < 25:
	print(-1)
else:
	kq = 0
	for i in range(5, t + 1):
		if k % i == 0:
			kq = 1
			for j in range(i):
				print(a[j % 5:] + a[:j % 5] + a[j % 5] * (k // i - 5), end='')
			break
	if kq == 0:
		print(-1)


import math
s = ['a', 'e', 'i', 'o', 'u']
a = []
n = int(input())
q = int(math.sqrt(n))
f = 0
for i in range(5, q + 1):
	if n % i == 0:
		p = i
		b = int(n / i)
		f = 1
if f == 0:
	print(-1)
else:
	i = 0
	for _ in range(p):
		for _ in range(b):
			a.append(s[i])
			i += 1
			if i == 5:
				i = 0
		c = s[0]
		del s[0]
		s.append(c)
	print(*a, sep='')


k = int(input())
mat = [['a', 'e', 'i', 'o', 'u'], ['e', 'a', 'u', 'i', 'o'], ['i', 'u', 'o', 'a', 'e'], ['o', 'i', 'e', 'u', 'a'], ['u', 'o', 'a', 'e', 'i']]
if k < 25:
	print(-1)
else:
	n = 0
	m = 0
	for i in range(5, k):
		if k % i == 0:
			n = i
			m = k // i
			break
	if n < 5 or m < 5:
		print(-1)
	else:
		st = ''
		arr = []
		for i in range(n):
			temp = []
			for j in range(m):
				temp.append(0)
			arr.append(temp)
		for i in range(n):
			for j in range(m):
				arr[i][j] = mat[i % 5][j % 5]
		for i in range(n):
			for j in range(m):
				st += arr[i][j]
		print(st)


n = int(input())
if n < 25:
	print(-1)
else:
	r = False
	for i in range(5, int(n ** 0.5) + 1):
		if n % i == 0:
			r = True
			break
	if r:
		if n % 25 == 0:
			a = 'aeioueiouaiouaeouaeiuaeio'
			print(a * (n // 25) + a[:n % 25])
		else:
			a = 'aeiou'
			print(a * (n // 5) + a[:n % 5])
	else:
		print(-1)


def next_vowel(upper, shift=0):
	vowels = 'aeiou'
	index0 = shift % len(vowels)
	index1 = 0
	while index1 < upper:
		yield vowels[index0]
		index0 = (index0 + 1) % len(vowels)
		index1 += 1

def get_m_n(number):
	for i in range(int(number ** 0.5) + 2, 1, -1):
		if number % i == 0:
			return (i, number // i)
	return (-1, -1)
k = int(input())
(n, m) = get_m_n(k)
if n < 5 or m < 5:
	print(-1)
else:
	s = ''
	for i in range(n):
		j = 0
		for v in next_vowel(m, i):
			(s, j) = (s + v, j + 1)
			if j == m:
				break
	print(s)


k = int(input())
for i in range(1, k):
	if k % i == 0 and k // i >= 5 and (i >= 5):
		s = 'aeiou'
		for _ in range(i):
			for __ in range(k // i):
				print(s[(_ + __) % 5], end='')
		print('')
		break
else:
	print('-1')


n = int(input())
s = 'aeiouaeiou'
l = [1]
var = -1
i = 1
a = 1
h = n // 2 + 3
for i in range(2, h):
	if n % i == 0:
		a = n // i
		if i >= 5 and a >= 5:
			var = 1
			break
if var == -1:
	print(-1)
else:
	r = i // 5
	g = i % 5
	for j in range(a):
		k = j % 5
		for m in range(r):
			print(s[k:k + 5], end='')
		print(s[k:k + g], end='')
	print()


n = int(input())
divs = [0] * (n + 1)
k = n
xc = 1
for i in range(5, int(k ** 0.5) + 1):
	if n % i == 0:
		n //= i
		xc *= i
		break
if xc >= 5 and k // xc >= 5:
	s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	a = ''
	for i in range(xc):
		a = a + s[i % 5] * (k // xc // 5) + s[i % 5][:k // xc % 5]
	print(a)
else:
	print(-1)


n = int(input())
p = 1
for i in range(1, int(n ** 0.5) + 1):
	if n % i == 0:
		p = i
q = n // p
if p >= 5 and q >= 5:
	ch = ['a', 'o', 'u', 'e', 'i']
	res = [[0 for _ in range(q)] for _ in range(p)]
	for i in range(5):
		for j in range(5):
			res[i][j] = ch[(i + j) % 5]
	for i in range(5, p):
		for j in range(q):
			res[i][j] = ch[j % 5]
	for i in range(5, q):
		for j in range(p):
			res[j][i] = ch[j % 5]
	ans = ''
	for i in range(p):
		for j in range(q):
			ans += res[i][j]
	print(ans)
else:
	print(-1)


import sys
import math
import bisect

def solve(n, A):
	row = -1
	col = -1
	for i in range(5, n + 1):
		if n % i == 0 and n // i >= 5:
			row = i
			col = n // i
			break
	if row == -1:
		return False
	s = 'aeiou'
	for i in range(n):
		r = i // col
		c = i % col
		A.append(s[(r + c) % 5])
	return True

def main():
	n = int(input())
	A = []
	if solve(n, A):
		print(''.join(A))
	else:
		print(-1)
main()


def Divisors(n):
	ans = []
	from math import sqrt
	i = 1
	while i <= sqrt(n):
		if n % i == 0:
			ans.append(i)
			ans.append(n // i)
		i += 1
	return sorted(ans)

def main():
	k = int(input())
	div = Divisors(k)
	i = 0
	j = len(div) - 1
	s = 'aeiou'
	while i < j:
		a = div[i]
		b = div[j]
		if a < 5 or b < 5:
			i += 1
			j -= 1
			continue
		matrix = [['a'] * b for _ in range(a)]
		ind = 0
		indi = 0
		for i in range(a):
			for j in range(0, 5):
				matrix[i][j] = s[(j + ind) % 5]
			for j in range(5, b):
				matrix[i][j] = s[(j + indi) % 5]
			indi += 1
			ind += 1
		for i in range(a):
			print(*matrix[i], sep='', end='')
		return
	print(-1)
main()


k = int(input())
for i in range(5, k // 5 + 1):
	if k % i == 0 and k // i >= 5 and (i >= 5):
		s = 'aeiou'
		for j in range(i):
			for kk in range(k // i):
				print(s[(j + kk) % 5], end='')
		print('')
		break
else:
	print('-1')


n = int(input())
v = 'aeiou'
nRows = 5
nCols = -1
while nRows * nRows <= n:
	if n % nRows == 0 and n // nRows >= 5:
		(nRows, nCols) = (nRows, n // nRows)
		break
	nRows += 1
if nCols == -1:
	print(-1)
	exit()
ret = ''
for i in range(nRows):
	row = ''
	for j in range(i, i + nCols):
		row += v[j % 5]
	ret += row
print(ret)


from math import sqrt
k = int(input())
(n, m) = (0, 0)
for i in range(5, int(sqrt(k)) + 1):
	if k % i == 0:
		n = k // i
		m = i
		if n >= 5 and m >= 5:
			break
if n == 0:
	print(-1)
else:
	vowel = 'aoiueaoiue'
	ans = ''
	for i in range(n):
		t = m
		while t > 0:
			c = min(t, 5)
			ans += vowel[i % 5:i % 5 + c]
			t -= c
	print(ans)


import math

def d(m, n):
	s = ''
	com = ['a', 'e', 'i', 'o', 'u']
	an = int(n + (5 - n % 5))
	an = int(an / 5)
	for i in range(m):
		xyz = int((n - n % 5) / 5)
		for j in range(xyz):
			s = s + ''.join(com)
		xy = int(n % 5)
		for k in range(xy):
			s = s + com[k]
		z = 0
		com[z:] = com[z + 1:] + com[z:z + 1]
	return s
k = int(input())
if k < 25:
	print('-1')
else:
	f = 0
	d1 = int(math.sqrt(k))
	if k % d1 == 0:
		d2 = k / d1
	else:
		while 1:
			d1 = d1 - 1
			if d1 < 5:
				print('-1')
				f = 1
				break
			if k % d1 == 0:
				d2 = k / d1
				break
	if f == 0:
		print(d(d1, d2))


p = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007]
k = int(input())
V = ['a', 'e', 'i', 'o', 'u']
if k < 25:
	print(-1)
elif k % 5 == 0:
	x = k // 5
	for i in range(x):
		for j in range(5):
			print(V[(i + j) % 5], end='')
	print()
elif k in p:
	print(-1)
else:
	f = []
	(x, y) = (-1, -1)
	for i in range(6, k + 1):
		if k % i == 0:
			f.append((i, k // i))
	if len(f):
		for i in f:
			(x, y) = i
			if x >= 5 and y >= 5:
				break
		else:
			print(-1)
			exit(0)
		for i in range(x):
			for j in range(y):
				print(V[(i + j) % 5], end='')
		print()
	else:
		print(-1)


k = int(input())
flag = 0
factor1 = 0
factor2 = 0
for i in range(2, k):
	if k % i == 0:
		flag = 1
		factor1 = i
		factor2 = k // i
		if factor1 > 4 and factor2 > 4:
			break
if flag == 0:
	print(-1)
elif (factor1 > 4 and factor2 > 4) == False:
	print(-1)
else:
	s = ''
	arr2 = ['a', 'e', 'i', 'o', 'u']
	for i in range(factor2):
		for j in range(factor1):
			y = i % 5
			s = s + arr2[(i % 5 + j) % 5]
	print(s)


import sys, heapq
from collections import deque, defaultdict
printn = lambda x: sys.stdout.write(x)
inn = lambda : int(input())
inl = lambda : list(map(int, input().split()))
inm = lambda : map(int, input().split())
DBG = True

def ddprint(x):
	if DBG:
		print(x)
import math
n = inn()
q = int(math.sqrt(n))
p = 0
r = 0
for i in range(5, q + 1):
	if n % i == 0 and n // i >= 5:
		p = i
		r = n // i
		break
if p == 0:
	print(-1)
	exit()
chars = ['a', 'e', 'i', 'o', 'u']
s = ''
for i in range(p):
	for j in range(r):
		s += chars[(i + j) % 5]
print(s)


n = int(input())
if n < 25:
	print(-1)
else:
	char_list = [c for c in 'aeiou']
	flag = True
	length = 0
	res = ''
	for i in range(5, int(n ** 0.5) + 1):
		if n % i == 0:
			length = i
			break
	else:
		flag = False
		print(-1)
	if flag:
		for i in range(length):
			for j in range(n // length):
				res += char_list[(i + j) % 5]
		print(res)


k = int(input())
(n, m) = (0, 0)
for i in range(5, k):
	if k % i == 0:
		n = i
		m = k // n
		break
if n > 4 and m > 4:
	g = ['a', 'e', 'o', 'i', 'u']
	for i in range(n):
		for j in range(m):
			print(g[(i + j) % 5], end='')
	print('')
else:
	print(-1)


n = int(input())
b = False
j = n
s = ''
for i in range(2, n - 1):
	if n % i == 0:
		if i >= 5:
			b = True
			j = i
			break
g = 'aeiou'
for i in range(int(n / 5)):
	g += 'aeiou'
k = 0
if b and n / j >= 5:
	for i in range(j):
		s += g[k:k + int(n / j)]
		k += 1
	print(s)
else:
	print(-1)


n = int(input())
s = 'aeiou'
lol = 'aeiou'
for i in range(5, n // 5 + 1):
	if n % i == 0:
		a = i
		b = n // i
		if a >= 5 and b >= 5:
			s = s * (a // 5) + 'aeiou'[:a % 5]
			for j in range(b):
				print(s, end='')
				s = s[1:] + s[0]
			exit(0)
print(-1)


def main():
	k = int(input())
	row = -1
	col = -1
	for i in range(1, k + 1):
		if k % i == 0:
			if i >= 5 and k // i >= 5:
				row = i
				col = k // i
				break
	if row == -1 and col == -1:
		print(-1)
		return
	vowels = ['a', 'e', 'i', 'o', 'u']
	word = []
	for i in range(row):
		r = ''
		if i == 0:
			count = 0
		else:
			count = vowels.index(word[-1][0]) + 1
		for j in range(col):
			r += vowels[count % 5]
			count += 1
		word.append(r)
	new_word = ''
	for i in word:
		new_word += i
	print(new_word)
main()


k = int(input())
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		tot = ''
		pre = 'a'
		for lit in range(k // i):
			if pre == 'a':
				prev = 'e'
			elif pre == 'e':
				prev = 'i'
			elif pre == 'i':
				prev = 'o'
			elif pre == 'o':
				prev = 'u'
			else:
				prev = 'a'
			pre = prev
			for j in range(i):
				if prev == 'a':
					tot += 'e'
				elif prev == 'e':
					tot += 'i'
				elif prev == 'i':
					tot += 'o'
				elif prev == 'o':
					tot += 'u'
				else:
					tot += 'a'
				prev = tot[-1]
		print(tot)
		break
else:
	print(-1)


ii = lambda : int(input())
kk = lambda : map(int, input().split())
ll = lambda : list(kk())
k = ii()
vow = ['a', 'e', 'o', 'i', 'u']
for v in range(5, int(k ** 0.5) + 1):
	if k % v == 0 and k // v > 4:
		out = []
		for r in range(v):
			for c in range(k // v):
				out.append(vow[(r + c) % 5])
		print(''.join(out))
		exit()
print(-1)


k = int(input())
for i in range(5, k // 5 + 1):
	if k % i == 0:
		x = 'aoieu'
		(mi, ma) = (min(i, k // i), max(i, k // i))
		for i in range(5):
			print(x[i:] + x[:i] + x[i] * (ma - 5), end='')
		for i in range(5, mi):
			print(x + 'a' * (ma - 5), end='')
		exit()
print(-1)


import math
import collections
n = int(input())
if n < 25:
	print(-1)
else:
	mat = []
	for i in range(5, n + 1):
		if n % i == 0:
			col = i
			break
	row = int(n / col)
	if row < 5:
		print(-1)
	else:
		res = ''
		vowels = collections.deque(['a', 'e', 'i', 'o', 'u'])
		c = 0
		while c < col:
			r = 0
			i = 0
			while r < row:
				res += vowels[i]
				r += 1
				i += 1
				if i > 4:
					i = 0
			c += 1
			re = vowels.popleft()
			vowels.append(re)
		print(res)


import math

def divn(n):
	r = []
	for i in range(5, int(n ** 0.5 + 1)):
		if n % i == 0 and n // i > 4:
			r.append(i)
	return r
n = int(input())
s = 'aoeui'
res = ''
d = []
divs = divn(n)
if len(divs) == 0:
	print(-1)
	exit()
div = divs[0]
for i in range(div):
	d.append(s * math.ceil(n // div / 5))
	s = s[-1] + s[:-1]
for i in range(div):
	res += d[i][:n // div]
print(res)


import math

def read_task():
	n = int(input())
	return n

def resolve(task):
	n = task
	sqrt_n = math.ceil(math.sqrt(n))
	for k in range(5, sqrt_n + 1):
		if n % k == 0:
			m = n // k
			if m >= 5:
				break
	else:
		return -1
	row = ('aeiou' * math.ceil(k / 5))[:k]
	word = ''
	for i in range(m):
		i = i % k
		if i == 0:
			word += row
		else:
			word += row[i:] + row[:i]
	return word

def print_solution(solution):
	print(solution)

def main():
	task = read_task()
	solution = resolve(task)
	print_solution(solution)
main()


vowel = 'aeiou'
n = int(input())
a = b = 0
for x in range(5, n + 1):
	if n % x == 0:
		(a, b) = (x, n // x)
		break
li = []
s = ''
if a < 5 or b < 5:
	print(-1)
else:
	vowel += 'a' * (a - 5)
	for x in range(b):
		s += vowel[x:b] + vowel[0:x]
print(s)


import math
import sys
k = int(input())
t = int(math.sqrt(k))
n = m = 0
s = ''
vow = 'aeiou'
for i in range(5, t + 1):
	if k % i == 0:
		n = i
		m = k // i
if n == 0:
	print(-1)
	sys.exit(0)
for i in range(n):
	for j in range(m):
		s += vow[(i + j) % 5]
print(s)


k = int(input())
d = []
for i in range(2, int(k ** 0.5) + 1):
	if k % i == 0 and i >= 5 and (k // i >= 5):
		d.append(i)
		d.append(k // i)
		break
if len(d) == 0:
	print(-1)
	exit()
v = 'aeiou'
ans = ''
n = d[0]
m = d[1]
for i in range(n):
	j = i % 5
	cnt = 0
	while cnt < m:
		ans += v[j]
		j = (j + 1) % 5
		cnt += 1
print(ans)


from sys import stdin, stdout
import math, sys, heapq
from itertools import permutations, combinations
from collections import defaultdict, deque, OrderedDict
from os import path
import random
import bisect as bi

def yes():
	print('YES')

def no():
	print('NO')
if path.exists('input.txt'):
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

	def I():
		return int(input())

	def In():
		return map(int, input().split())
else:

	def I():
		return int(stdin.readline())

	def In():
		return map(int, stdin.readline().split())

def dict(a):
	d = {}
	for x in a:
		if d.get(x, -1) != -1:
			d[x] += 1
		else:
			d[x] = 1
	return d

def find_gt(a, x):
	i = bi.bisect_left(a, x)
	if i != len(a):
		return i
	else:
		return -1

def main():
	try:
		n = I()
		ans = -1
		for i in range(1, int(n ** 0.5) + 1):
			if n % i == 0:
				if i >= 5 and n // i >= 5:
					ans = i
					break
		if ans == -1:
			print(-1)
		else:
			t = ['a', 'e', 'i', 'o', 'u']
			an = []
			(x, y) = (ans, n // ans)
			for i in range(min(x, y)):
				an.append(t.copy())
				t.append(t.pop(0))
			temp = t
			for i in range(5, x):
				temp.append('a')
			for j in range(5, y):
				for i in range(x):
					an[i].append(temp[i])
			for x in an:
				print(''.join(x), end='')
	except:
		pass
M = 998244353
P = 1000000007
for _ in range(1):
	main()


import math

def get(a):
	n = round(math.sqrt(a))
	for i in range(5, n + 1):
		if a / i % 1 == 0:
			return [i, round(a / i)]

def main():
	A = ['a', 'e', 'i', 'o', 'u']
	res = ''
	k = int(input())
	if k < 25:
		print('-1')
	else:
		lol = get(k)
		if lol == None:
			print(-1)
		else:
			for j in range(lol[0]):
				for k in range(lol[1]):
					res = res + A[(j + k) % 5]
			print(res)
main()


vowels = ['a', 'e', 'i', 'o', 'u']
n = int(input())
rows = 0
for i in range(5, n):
	if n % i == 0 and n / i >= 5:
		rows = n / i
if rows == 0:
	print(-1)
else:
	for i in range(n):
		print(vowels[int((i % rows + i // rows) % 5)], end='')


import math
k = int(input())
div = 0
flag = 0
vowel = {0: 'a', 1: 'e', 2: 'i', 3: 'o', 4: 'u'}
g = int(math.sqrt(k))
for i in range(1, g + 1):
	if k % i == 0:
		if i >= 5 and k // i >= 5:
			flag = 1
			div = i
			break
if flag == 0:
	print('-1')
else:
	for i in range(div):
		for j in range(k // div):
			f = (i + j) % 5
			print(vowel[f], end='')


import sys
import heapq
import re
import bisect
import random
import math
import itertools
from collections import defaultdict, deque
from copy import deepcopy
from decimal import *
readl = lambda : list(map(int, sys.stdin.readline().split()))
readt = lambda : tuple(map(int, sys.stdin.readline().split()))
read = lambda : sys.stdin.readline().rstrip()
readi = lambda : int(read())
readmi = lambda : map(int, sys.stdin.readline().split())
readms = lambda : map(str, sys.stdin.readline().split())

def make_divisors(n):
	divisors = []
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0:
			divisors.append(i)
			if i != n // i:
				divisors.append(n // i)
	divisors.sort()
	return divisors
n = readi()
s = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
if n < 25:
	print(-1)
else:
	ans = ''
	a = make_divisors(n)
	flg = False
	t1 = 1
	for i in a:
		if i >= 5:
			t1 = i
			flg = True
			break
	t2 = n // t1
	if t1 < 5 or t2 < 5:
		print(-1)
		exit()
	for i in range(t1):
		j1 = -1
		for j in range(t2):
			j1 += 1
			if j1 >= 5:
				j1 = 0
			k = s[i % 5][j1]
			ans += k
	print(ans)


import math
n = int(input())
flag = 0
for i in range(5, int(math.sqrt(n)) + 1):
	if n % i == 0:
		x = i
		y = n // i
		flag = 1
		if x >= 5 and y >= 5:
			break
if flag == 1:
	s = 'aeiou' + (x - 5) * 'a'
	ans = ''
	for i in range(y):
		ans += s[i:] + s[:i]
	print(ans)
else:
	print(-1)


def find_factors(x):
	factors = []
	for i in range(1, x + 1):
		if x % i == 0:
			factors.append(i)
	return factors
x = int(input())
teet = find_factors(x)
factors = [num for num in teet if num >= 5 and num != x]
if len(factors) == 0:
	print(-1)
	exit()
n = factors[0]
m = x // n
if n < 5 or m < 5:
	print(-1)
	exit()
length = (n + 4) // 5
one_row = ('aeiou' * length)[:n]
all_rows = ''
for i in range(m):
	first = one_row[0:len(one_row) - i]
	second = one_row[len(one_row) - i:]
	all_rows += second + first
print(all_rows)


n = int(input())
i = n
while i >= 5:
	if n % i == 0 and n // i >= 5:
		break
	i -= 1
if i < 5:
	exit(print(-1))
for r in range(i):
	for j in range(n // i):
		print('aeiou'[(r + j) % 5], end='')


k = int(input())
d = 2
while k % d != 0 or d < 5 or k // d < 5:
	if d > k:
		print(-1)
		exit()
	d += 1
s = 'aeiou'
ans = []
for i in range(d):
	for j in range(k // d):
		ans.append(s[(i % 5 + j % 5) % 5])
print(''.join([str(i) for i in ans]))


from math import sqrt

def sep(k):
	if k < 25:
		return (-1, -1)
	for i in range(5, int(sqrt(k)) + 1):
		if k % i == 0:
			return (i, k / i)
	return (-1, -1)

def f(x):
	if x == 1:
		return 'a'
	if x == 2:
		return 'e'
	if x == 3:
		return 'i'
	if x == 4:
		return 'o'
	if x == 5:
		return 'u'
k = eval(input())
(n, m) = sep(k)
n = int(n)
m = int(m)
if n == -1:
	print(-1)
else:
	ans = [[1, 2, 3, 4, 5], [5, 1, 2, 3, 4], [4, 5, 1, 2, 3], [3, 4, 5, 1, 2], [2, 3, 4, 5, 1]]
	for i in range(n - 5):
		ans.append([1, 2, 3, 4, 5])
	x = 0
	for i in range(m - 5):
		for a in ans:
			a.append(x % 5 + 1)
			x += 1
	for a in ans:
		for b in a:
			print(f(b), end='')


def vowels(n):
	v = 'aeiou'
	s = ''
	(count1, count2) = (-1, -1)
	for i in range(5, n):
		if n % i == 0:
			(count1, count2) = (i, n // i)
			break
	if not (count1 >= 5 and count2 >= 5):
		return -1
	for i in range(count1):
		for j in range(count2):
			s += v[(i + j) % 5]
	return s
print(vowels(int(input())))


n = int(input())
d = 5
l = ['u', 'a', 'e', 'i', 'o']
while 1:
	y = n / d
	if y < 5:
		print(-1)
		break
	elif y - int(y) == 0:
		for i in range(int(y)):
			p = l.pop(0)
			l.insert(4, p)
			for j in range(d):
				print(l[j % 5], end='')
		break
	d = d + 1


import sys
input = sys.stdin.readline
k = int(input())
flag = False
arr = []
for i in range(5, k // 5 + 1):
	if k % i == 0:
		flag = True
		x = i
		y = k // i
		break
l = ['a', 'e', 'i', 'o', 'u'] * 50000
glo = 0
cur = 0
if flag:
	for i in range(x):
		arr.append([])
		for j in range(y):
			arr[i].append(l[cur])
			cur += 1
		glo += 1
		cur = glo
	ans = ''
	for i in range(x):
		for j in range(y):
			ans += arr[i][j]
	print(ans)
else:
	print(-1)


from sys import setcheckinterval, stdin
setcheckinterval(1000)
iin = lambda : int(stdin.readline())
lin = lambda : list(map(int, stdin.readline().split()))
k = iin()
(a, b) = (0, 0)
for i in range(5, k):
	if k % i == 0:
		a = i
		break
else:
	print(-1)
	exit()
b = k // a
if b < 5:
	print(-1)
	exit()
ans = []
sol = [['a', 'e', 'i', 'o', 'u'], ['u', 'a', 'e', 'i', 'o'], ['o', 'u', 'a', 'e', 'i'], ['i', 'o', 'u', 'a', 'e'], ['e', 'i', 'o', 'u', 'a']]
for i in range(a):
	for j in range(b):
		try:
			ans.append(sol[i % 5][j % 5])
		except:
			ans.append('b')
print(''.join(ans))


n = int(input())
s = 'aeiou'
if n < 25:
	print('-1')
	exit()
row = 1
col = 5
ans = ''
while n % col != 0:
	col += 1
row = n // col
if row < 5:
	print('-1')
	exit()
for i in range(row):
	for j in range(col):
		ans += s[(j + i) % 5]
print(ans)


def findrc(n):
	i = 5
	while i * i <= n:
		if n % i == 0:
			if n // i >= 5:
				return [i, n // i]
		i += 1
	return [-1, -1]
n = int(input())
(r, c) = findrc(n)
if r == -1:
	print('-1')
else:
	l = ['a', 'e', 'i', 'o', 'u']
	s = ''
	for i in range(r):
		for j in range(c):
			s = s + l[(j + i) % 5]
	print(s)


import math

def solve(n1, n):
	for i in range(n1, 0, -1):
		if n % i == 0:
			k = i
			oth = n // i
			if min(oth, k) >= 5:
				return (max(oth, k), min(oth, k))
	return (-1, -1)
n = int(input())
n1 = math.sqrt(n)
eps = 1e-10
if int(n1) + 1 - n1 < eps:
	n1 = int(n1) + 1
else:
	n1 = int(n1)
a = solve(n1, n)
if a[0] == -1:
	print(-1)
	exit()
s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
for i in range(5):
	s[i] = s[i][0:5] * (a[0] // 5) + s[i][0:a[0] % 5]
for i in range(a[1] - 5):
	s.append(s[0])
ans = ''
for i in s:
	ans += i
print(ans)


k = int(input())
for i in range(5, k // 5 + 1):
	if k % i == 0:
		rows = i
		break
try:
	cols = k // rows
except:
	print(-1)
	exit()
Ar = [[None for x in range(cols)] for y in range(rows)]
a = ['a', 'e', 'i', 'o', 'u']
p = 0
for i in range(5):
	start = p
	for j in range(5):
		Ar[i][j] = a[start]
		start += 1
		if start == 5:
			start = 0
	p += 1
for j in range(5, cols):
	for i in range(5):
		Ar[i][j] = a[i]
for i in range(5, rows):
	for j in range(5):
		Ar[i][j] = a[j]
for i in range(rows):
	for j in range(cols):
		if Ar[i][j] == None:
			Ar[i][j] = 'g'
		print(Ar[i][j], end='')


def notprime(y):
	for x in range(5, y):
		if y % x == 0:
			return x
	return None

def solve(n):
	ans = 'aeiou'
	if n < 25:
		print(-1)
	else:
		j = notprime(n)
		if j != None:
			i = n // j
			if i < 5:
				print(-1)
			else:
				for row in range(i):
					start = row % 5
					print(ans[start:], end='')
					left = j - (5 - start)
					if left > 5:
						times = left // 5
						for x in range(times):
							print(ans, end='')
						left = left // 5
					print(ans[:left], end='')
				return
		else:
			print(-1)
solve(int(input()))


L = [0] * 10005
L1 = [0] * 10005
L2 = [0] * 10005
for i in range(5, 2000):
	for j in range(i, 2000):
		if i * j < 10001:
			L[i * j] = 1
			L1[i * j] = i
			L2[i * j] = j
k = int(input())
if L[k] == 0:
	print('-1')
else:
	arr = ['a', 'e', 'i', 'o', 'u']
	l1 = L1[k]
	l2 = L2[k]
	dp = []
	for i in range(l1):
		s = []
		for j in range(l2):
			s.append('k')
		dp.append(s)
	for i in range(l2):
		dp[0][i] = i % 5
	for i in range(1, l1):
		for j in range(l2):
			dp[i][j] = (dp[i - 1][j] + 1) % 5
	for i in range(l1):
		for j in range(l2):
			dp[i][j] = arr[dp[i][j]]
	st = ''
	for i in range(l1):
		for j in range(l2):
			st = st + dp[i][j]
	print(st)


k = int(input())
(n, m) = (1, k)
v = ['a', 'e', 'i', 'o', 'u']
for i in range(5, int(k ** 0.5) + 1):
	if k % i == 0:
		n = i
		m = k // i
		break
if n >= 5 and m >= 5:
	s = [['b' for i in range(n)] for j in range(m)]
	for i in range(len(s)):
		p = i % 5
		for j in range(len(s[0])):
			s[i][j] = v[p]
			p = (p + 1) % 5
	for i in range(len(s)):
		print(''.join(s[i]), end='')
	print()
else:
	print(-1)


import collections
k = int(input())
idx = 1
for j in range(5, int(k ** 0.5) + 1):
	if not k % j:
		idx = j
		break
if idx < 5 or k // idx < 5:
	print('-1')
else:
	pattern = 'aeiou' + 'aeiou'[:max(0, idx - 5)]
	ans = ''
	for i in range(k // idx):
		j = i % len(pattern)
		ans += pattern[j:] + pattern[:j]
	print(ans)


k = int(input())
check = False
a = -1
for i in range(5, k + 1):
	if k % i == 0:
		if k // i >= 5 and i >= 5:
			check = True
			a = i
			break
if not check:
	print(-1)
else:
	n = a
	m = k // a
	ans = ''
	x = 'aeiou'
	for i in range(n):
		s = ''
		for j in range(m):
			s += x[(i + j) % 5]
		ans += s
	print(ans)


k = int(input())
if k < 25:
	print(-1)
else:
	(k1, k2) = (0, 0)
	for i in range(5, k // 5 + 1):
		for j in range(5, k // 5 + 1):
			if i * j == k:
				k1 = i
				k2 = j
	if k1 == 0:
		print(-1)
	else:
		a = ['a', 'e', 'i', 'o', 'u']
		for i in range(k2 - 5):
			a.append('o')
		b = a[:]
		for i in range(1, k1):
			a.append(a.pop(0))
			b = b + a
		print(''.join(b))


def main():
	n = int(input())
	mul1 = n
	for i in range(n // 5, 4, -1):
		if n % i == 0:
			mul1 = i
	if mul1 == n:
		print('-1')
		return
	mul2 = n // mul1
	v = 'aeiou'
	ans = ''
	for i in range(mul1):
		for j in range(mul2):
			ans += v[(i + j) % 5]
	print(ans)
main()


n = int(input())
x = 'aeiou'
s = []
for i in range(5):
	s.append(x[i:5] + x[:i])
for i in range(5, n // 5 + 1):
	if n % i == 0:
		t = ''
		for k in range(n // i):
			for j in range(i):
				t += s[k % 5][j % 5]
		print(t)
		exit()
print(-1)


from sys import stdin, stdout
from math import *

def main():
	vowels = ''.join(['a', 'e', 'i', 'o', 'u'] * 3000)
	k = int(stdin.readline())
	for n in range(5, k + 1):
		if k % n == 0:
			m = int(k / n)
			if m >= 5:
				res = []
				for x in range(n):
					res.append(vowels[x:x + m])
				stdout.write(''.join(res))
				return 0
	stdout.write('-1')
	return 0
main()


k = int(input())
vowels = 'aeiou'

def make(n, m):
	ans = []
	for i in range(n):
		ans.append('')
		for j in range(m):
			ans[i] += vowels[(i + j) % len(vowels)]
	return ''.join(ans)
for i in range(5, k + 1):
	if k % i == 0 and k // i >= 5:
		print(make(i, k // i))
		exit(0)
print(-1)


from math import sqrt
s = 'aeuoi'
n = int(input())
f = l = 0
for i in range(5, round(sqrt(n)) + 1):
	if n % i == 0 and 5 <= n // i:
		f = i
		l = n // i
		break
if min(f, l) < 5:
	print(-1)
else:
	r = r1 = s * (f // 5) + s[:f % 5]
	for i in range(l - 1):
		r1 = r1[1:] + r1[:1]
		r += r1
	print(r)


k = int(input())
j = 1
best = 0
while j * j <= k:
	if k % j == 0:
		best = j
	j += 1
vowels = ['a', 'e', 'i', 'o', 'u']
if best >= 5:
	niz = ''
	for i in range(best):
		for j in range(k // best):
			niz += vowels[(i + j) % 5]
	print(niz)
else:
	print(-1)


n = int(input())
bbv = 'aeiou'
sqrt = int(n ** 1 / 2)
b = 0
for i in range(5, sqrt):
	for j in range(sqrt + 1, 4, -1):
		if i * j == n:
			b = 1
			break
	if b:
		break
if not b:
	print(-1)
else:
	s = 0
	for k in range(i):
		curs = ''
		ddd = bbv[s:] + bbv[:s]
		while len(curs) < j:
			curs += ddd[:min(5, j - len(curs))]
		print(curs, end='')
		s += 1
		if s == 5:
			s = 0


import sys, math, queue
MOD = 10 ** 9 + 7
k = int(input())
f = []
i = 1
while i * i < k:
	if k % i == 0:
		f.append((i, k // i))
	i += 1
if i * i == k:
	f.append((i, i))
for i in range(len(f)):
	if f[i][0] >= 5 and f[i][1] >= 5:
		x = f[i][1]
		y = f[i][0]
		vow = ['a', 'e', 'i', 'o', 'u']
		ans = [[None for i in range(y)] for j in range(x)]
		for ii in range(x):
			for jj in range(y):
				ans[ii][jj] = vow[(ii + jj) % 5]
		string = []
		for row in ans:
			string += row
		print(''.join(string))
		return
print(-1)


n = int(input())
k = 0
h = 'aeiou'
if n < 25:
	print(-1)
else:
	i = 2
	while i < n ** 0.5 + 1:
		if n % i == 0:
			if n // i >= 5 and i >= 5:
				p = i
				k = 1
				break
		i += 1
	if k == 0:
		print(-1)
	else:
		t = ''
		for q in range(n // i):
			for j in range(i):
				start = q % 5
				t += h[(start + j) % 5]
		print(t)


import math
n = int(input())
req = 'aeiou'
for i in range(5, int(math.sqrt(n) + 1)):
	if n % i == 0:
		for j in range(i):
			print(req[j % 5:] + req[:j % 5] + req[j % 5] * (n // i - 5), end='')
		exit()
print(-1)


N = int(input())
factors = [f for f in range(1, N + 1) if N % f == 0]
if max(factors) < 5:
	print(-1)
else:
	mf = min((f for f in factors if f >= 5))
	rf = N // mf
	if rf < 5:
		print(-1)
	else:
		s = ''
		for i in range(mf):
			s += (('aeiou'[i % 5:] + 'aeiou'[:i % 5]) * rf)[:rf]
		print(s)


import sys

def input():
	return sys.stdin.readline().strip()
spi = ['a', 'e', 'o', 'u', 'i']
w = {'a': 0, 'e': 1, 'o': 2, 'u': 3, 'i': 4}
r = int(input())
banner = True
(x, y) = (-1, -1)
for i in range(5, int(r ** 0.5) + 1):
	if r % i == 0 and r // i >= 5:
		(x, y) = (i, r // i)
		banner = False
		break
if banner:
	print(-1)
s = ''
for i in range(x):
	s += spi[i % 5]
c1 = ''
for i in range(len(s)):
	c1 += spi[(w[s[i]] + 0) % 5]
c2 = ''
for i in range(len(s)):
	c2 += spi[(w[s[i]] + 1) % 5]
c3 = ''
for i in range(len(s)):
	c3 += spi[(w[s[i]] + 2) % 5]
c4 = ''
for i in range(len(s)):
	c4 += spi[(w[s[i]] + 3) % 5]
c5 = ''
for i in range(len(s)):
	c5 += spi[(w[s[i]] + 4) % 5]
d = {0: c1, 1: c2, 2: c3, 3: c4, 4: c5}
for i in range(y):
	print(d[i % 5], end='')


from sys import stdin
input = lambda : stdin.readline().strip()
from math import ceil, sqrt, factorial, gcd
from collections import deque
from bisect import bisect_left, bisect_right
n = int(input())
(a, b) = (0, 0)
i = 1
while i * i <= n:
	if n % i == 0:
		a = i
		b = n // i
	i += 1
	if a >= 5 and b >= 5:
		break
if a >= 5 and b >= 5:
	s = ''
	t = 'aeiou'
	for i in range(a):
		x = t[i % 5:]
		e = b - len(x)
		s += x + t * (e // 5)
		e = e - 5 * (e // 5)
		s += t[:e]
	print(s)
else:
	print(-1)


def solve(n):
	for i in range(1, n + 1):
		if n % i == 0:
			a = i
			b = n // i
			if a >= 5 and b >= 5:
				l = ''
				doer = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
				for i in range(a):
					for j in range(b):
						l += doer[i % 5][j % 5]
				return l
	return -1
n = int(input())
print(solve(n))


VOWELS = 'aeiou'

def solve(k):
	d = 5
	while d * d <= k:
		if k % d == 0:
			(n, m) = (d, k // d)
			ans = [None] * k
			for r in range(n):
				for c in range(m):
					ans[r * m + c] = VOWELS[(r + c) % 5]
			cov_r = {r: set() for r in range(n)}
			cov_c = {c: set() for c in range(m)}
			for r in range(n):
				for c in range(m):
					cov_r[r].add(ans[r * m + c])
					cov_c[c].add(ans[r * m + c])
			return ''.join(ans)
		d += 1
	return '-1'
print(solve(int(input())))


k = int(input())
if k < 25:
	print(-1)
	exit()
flag = 0
for i in range(5, int(k / 5) + 1):
	if k / i == int(k / i) and k / i >= 5:
		n = int(k / i)
		m = i
		flag = 1
		break
if flag == 0:
	print(-1)
	exit()
a = ['a', 'e', 'i', 'o', 'u']
list = []
for i in range(5):
	list.append(a)
	a = [a[-1]] + a[:-1]
for i in range(n):
	if i >= 5:
		i %= 5
	for j in range(m):
		if j >= 5:
			j %= 5
		print(list[i][j], end='')


a = int(input())
m = ['a', 'e', 'i', 'o', 'u']
(b, c) = (5, 5)
t = False
for i in range(a):
	if b * c > a:
		break
	if b * c == a:
		t = True
		break
	if a / b < 5:
		b += 1
	if a / b > 5 and a % b == 0:
		c = a // b
	if a / b > 5 and a % b != 0:
		b += 1
	if a / b == 5:
		c = a // b
r = ''
h = 0
if t:
	h1 = 0
	for i in range(b):
		h1 = 0
		if i % 5 == 0:
			h = 0
		else:
			h += 1
		for j in range(c):
			if j != 0:
				h1 += 1
			if h + h1 == 5:
				h1 = 0 - h
			r += m[h + h1]
else:
	r = -1
print(r)


n = int(input())
if n < 25:
	print(-1)
else:
	(i, z) = (5, True)
	while i < n and z:
		if n % i == 0:
			a = n // i
			b = i
			if a >= 5:
				z = False
		i += 1
	if z == True:
		print(-1)
	else:
		l = ['a', 'e', 'i', 'o', 'u']
		m = ''
		k = 0
		for x in range(b):
			k = x % 5
			s = ''
			for j in range(a):
				if k == 5:
					k = 0
				s = s + l[k]
				k += 1
			m = m + s
		print(m)


k = int(input())
for p in range(5, k // 4):
	if not k % p:
		s = 'uaeio' * p
		print(((s[:p] + s[1:p + 1] + s[2:p + 2] + s[3:p + 3] + s[4:p + 4]) * k)[:k])
		break
else:
	print('-1')


import sys
input = sys.stdin.readline

class Problem:

	def __init__(self):
		pass

	def solve(self):
		print(self._solve())

	def _solve(self):
		vowels = 'aoeui'
		k = int(input())
		v = -1
		for p in range(5, k):
			if k % p == 0 and k // p >= 5:
				v = p
				break
		if v == -1:
			return -1
		n = p
		m = k // p
		s = 0
		ans = ''
		for i in range(n):
			r = m // 5
			cur = vowels[s:] + vowels[:s]
			ans += cur * r + cur[:m % 5]
			s += 1
		return ans

def main():
	problem = Problem()
	problem.solve()
main()


def make_divisors(n):
	divisors = []
	for k in range(1, int(n ** 0.5) + 1):
		if n % k == 0:
			divisors.append(k)
			if k != n // k:
				divisors.append(n // k)
	divisors = sorted(divisors)
	return divisors
k = int(input())
div_li = make_divisors(k)
if len(div_li) % 2 == 1:
	(n, m) = (div_li[len(div_li) // 2], div_li[len(div_li) // 2])
else:
	(n, m) = (div_li[len(div_li) // 2 - 1], div_li[len(div_li) // 2])
memo = {}
memo[0] = 'aiueo'
memo[1] = 'iueoa'
memo[2] = 'ueoai'
memo[3] = 'eoaiu'
memo[4] = 'oaiue'
if n < 5 or m < 5:
	print(-1)
	exit()
else:
	for i in range(m):
		print((memo[i % 5] * (n // 5 + 1))[0:n], end='')
print()


def getN():
	return int(input())

def getList():
	return list(map(int, input().split()))
k = getN()
a = 0
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		(a, b) = (i, k // i)
if a == 0:
	print(-1)
else:
	vowel = {1: 'a', 2: 'e', 3: 'i', 4: 'o', 0: 'u'}
	ans = ''
	for i in range(a):
		for j in range(b):
			ans += vowel[(i + j) % 5]
	print(ans)


def is_prime(n):
	if n == 2 or n == 3:
		return True
	if n < 2 or n % 2 == 0:
		return False
	if n < 9:
		return True
	if n % 3 == 0:
		return False
	r = int(n ** 0.5)
	f = 5
	while f <= r:
		if n % f == 0:
			return False
		if n % (f + 2) == 0:
			return False
		f += 6
	return True

def main():
	n = int(input())
	if is_prime(n):
		print(-1)
		return
	if n >= 25:
		j = -1
		for i in range(5, n):
			if n % i == 0 and n // i >= 5:
				j = n // i
				break
		if j == -1:
			print(-1)
			return
		r = i
		c = j
		vowels = ['a', 'e', 'i', 'o', 'u']
		word = ''
		k = 0
		for i in range(r):
			t = k
			for j in range(c):
				word += vowels[(j + t) % 5]
			k += 1
	else:
		print(-1)
		return
	print(word)
main()


n = int(input())
l = 0
b = 0
ans = 0
for i in range(5, int(n / 2) + 1):
	if n % i == 0 and n / i >= 5 and (i >= 5):
		l = i
		b = int(n / i)
		ans = 1
		break
if ans == 0:
	print(-1)
else:
	a = ['a', 'e', 'i', 'o', 'u']
	for i in range(0, l):
		for j in range(0, b):
			print(a[(i + j) % 5], end='')
	print('')


a = int(input())
t = 'aeiou'
h = 0
if a < 25:
	print(-1)
	h += 1
else:
	b = 0
	g = 0
	for k in range(5, a):
		if a % k == 0:
			b = a // k
			if b >= 5:
				g += 1
				break
	if g == 0:
		print(-1)
	if h == 0 and g == 1:
		f = t * (k // 5) + 'a' * (k % 5)
		u = ''
		for j in range(b):
			u += f[j:] + f[0:j]
		print(u)


import math
k = int(input())
(n, n1) = (0, 0)
for i in range(5, int(math.sqrt(k)) + 2):
	if k % i == 0:
		if i >= 5 and k // i >= 5:
			(n, n1) = (i, k // i)
			break
if n > n1:
	(n, n1) = (n1, n)
if n == 0 or n1 == 0:
	print(-1)
	exit()
x = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
y = ''
i = 0
while len(y) < k:
	h = (n1 // 5 + 1) * x[i]
	y += h[:n1]
	i += 1
	if i == 5:
		i = 0
print(y)


def main():
	n = int(input())
	if n < 25:
		print(-1)
		return None

	def trouverDiv(n):
		for i in range(5, int(n ** (1 / 2)) + 1):
			if n % i == 0 and n // i >= 5:
				return (i, n // i)
		return (-1, 0)
	(a, b) = trouverDiv(n)
	if a == -1:
		print(-1)
		return None
	else:
		tableau = []
		voyelles = ['a', 'e', 'i', 'o', 'u']
		decalage = 0
		for i in range(a):
			for j in range(b):
				print(voyelles[(j + decalage) % 5], end='')
			decalage += 1
	return None
main()


k = int(input())
if k < 25:
	print(-1)
else:
	flag = False
	for i in range(5, int(k ** 0.5) + 1):
		if k % i == 0 and k // i >= 5:
			flag = True
			break
	if flag:
		for j in range(i):
			if j % 5 == 0:
				print(('aeiou' * k)[0:k // i], end='')
			elif j % 5 == 1:
				print(('eioua' * k)[0:k // i], end='')
			elif j % 5 == 2:
				print(('iouae' * k)[0:k // i], end='')
			elif j % 5 == 3:
				print(('ouaei' * k)[0:k // i], end='')
			else:
				print(('uaeio' * k)[0:k // i], end='')
	else:
		print(-1)


k = int(input())
i = 1
(n, m) = (0, 0)
while i * i <= k:
	if k % i == 0:
		if i >= 5 and k / i >= 5:
			(n, m) = (i, k // i)
			break
	i += 1
if n == 0 and m == 0:
	print(-1)
	exit()
l = ['a', 'e', 'i', 'o', 'u']
s = 0
for i in range(n):
	s = s % 5
	k = s
	for j in range(5):
		print(l[s], end='')
		s += 1
		s = s % 5
	for j in range(5, m):
		print(l[k], end='')
	k += 1
	s = k


n = int(input())
ar = [k for k in range(1, n) if n % k == 0]
a = 1
for k in ar:
	if k >= 5:
		a = k
		break
b = int(n / a)
if a < 5 or b < 5:
	print(-1)
else:
	v = ['a', 'e', 'i', 'o', 'u']
	ar = [[''] * b for k in range(a)]
	for k in range(a):
		for p in range(b // 5):
			for l in range(5):
				ar[k][5 * p + l] = v[l]
		for l in range(b % 5):
			ar[k][b // 5 * 5 + l] = v[l]
		temp = v[0]
		v.remove(temp)
		v.append(temp)
	for k in range(a):
		ar[k] = ''.join(ar[k])
	ans = ''.join(ar)
	print(ans)


def solve():
	N = int(input())
	prime = 1
	for i in range(2, int(N ** 0.5) + 1):
		if N % i == 0 and i > 4:
			prime = 0
			d = i
			break
	if prime:
		print(-1)
		return
	wovels = ['a', 'e', 'i', 'o', 'u']
	result = []
	for i in range(N // d):
		for j in range(d):
			result.append(wovels[(i + j) % 5])
	print(''.join(result))
solve()


vowels = ['a', 'e', 'i', 'o', 'u']
k = int(input())
rows = 0
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		rows = k // i
if rows == 0:
	print(-1)
else:
	for i in range(rows):
		for j in range(k // rows):
			print('aeiou'[(i + j) % 5], end='')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 998244353
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def JA(a, sep):
	return sep.join(map(str, a))

class Prime:

	def __init__(self, n):
		self.M = m = int(math.sqrt(n)) + 10
		self.A = a = [True] * m
		a[0] = a[1] = False
		self.T = t = []
		for i in range(2, int(math.sqrt(m)) + 1):
			if not a[i]:
				continue
			t.append(i)
			for j in range(i * i, m, i):
				a[j] = False
		self.ds_memo = {}
		self.ds_memo[1] = set([1])

	def is_prime(self, n):
		return self.A[n]

	def division(self, n):
		d = collections.defaultdict(int)
		for c in self.T:
			while n % c == 0:
				d[c] += 1
				n //= c
			if n < 2:
				break
		if n > 1:
			d[n] += 1
		return d.items()

	def divisions(self, n):
		if n in self.ds_memo:
			return self.ds_memo[n]
		for c in self.T:
			if n % c == 0:
				rs = set([c])
				for cc in self.divisions(n // c):
					rs.add(cc)
					rs.add(cc * c)
				self.ds_memo[n] = rs
				return rs
		rs = set([n])
		self.ds_memo[n] = rs
		return rs

def main():
	k = I()
	pr = Prime(k ** 2)
	for n in sorted(pr.divisions(k)):
		if n > k // n:
			break
		if n < 5:
			continue
		m = k // n
		t = 'aeiou' + 'g' * (n - 5)
		r = []
		for i in range(m):
			r.append(t)
			t = t[1:] + t[0]
		return JA(r, '')
	return -1
print(main())


from math import sqrt
n = int(input())
i = int(sqrt(n))
l = ['a', 'e', 'i', 'o', 'u']
f = 0
while n % i != 0:
	i = i - 1
	if n % i == 0:
		break
j = n // i
if i >= 5 and int(j) >= 5:
	f = 1
	i = i - 5
	while i > 0:
		l.append('b')
		i -= 1
	while j > 0:
		l = l[-1:] + l[:-1]
		print(''.join(l), end='')
		j -= 1
if f == 0:
	print(-1)


k = int(input())
n = m = 0
for i in range(5, k // 5 + 1):
	if not k % i:
		n = i
		break
if n:
	m = k // n
	l = ['a', 'e', 'i', 'o', 'u']
	w = []
	for x in range(m):
		for y in range(n):
			w += [l[(x + y) % 5]]
	print(*w, sep='')
else:
	print(-1)


k = int(input())
n = -1
m = -1
s = 'aoeiu' * 2000
res = ''
for i in range(5, k):
	if k % i == 0:
		n = k // i
		m = k // n
		break
if n < 5 or m < 5:
	print(-1)
else:
	for i in range(n):
		res += s[i:i + m]
	print(res)


n = int(input())
p = 0
for i in range(5, n):
	if n % i == 0:
		p = i
		break
if p == 0 or n < 5 * p:
	print(-1)
else:
	q = n // p
	kpop = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	vow = ['a', 'e', 'i', 'o', 'u']
	for i in range(5):
		print(kpop[i], end='')
		for j in range(q - 5):
			print(vow[i], end='')
	for i in range(p - 5):
		print(kpop[0], end='')
		for j in range(q - 5):
			print('x', end='')


k = int(input())
mini = 5
good = False
while mini <= k ** 0.5:
	if k % mini == 0:
		good = True
		break
	mini += 1
if not good:
	print(-1)
else:
	rows = mini
	columns = k // rows
	col1 = ('aeiou' * columns)[:columns]
	col2 = ('eioua' * columns)[:columns]
	col3 = ('iouae' * columns)[:columns]
	col4 = ('ouaei' * columns)[:columns]
	col5 = ('uaeio' * columns)[:columns]
	out = col1 + col2 + col3 + col4 + col5 + col1 * (rows - 5)
	print(out)


n = int(input())
import math
if n == 1 or n == 0:
	print(-1)
else:
	U = 0
	for i in range(2, math.floor(math.sqrt(n)) + 1):
		if n % i == 0:
			U = 1
			break
	if U == 1:
		l = ['a', 'e', 'i', 'o', 'u']
		for i in range(5, 100000):
			if n % i == 0:
				a = i
				b = n // i
				if b >= 5:
					break
		if a < 5 or b < 5:
			print(-1)
		else:
			for i in range(0, a):
				D = 0 + i
				for j in range(0, b):
					if D < len(l):
						print(l[D], end='')
						D += 1
					else:
						print(l[0], end='')
						D = 1
	else:
		print(-1)


k = int(input())
flag = 0
if k < 5:
	print(-1)
else:
	for n in range(5, k + 1):
		if k % n == 0:
			if k // n >= 5:
				flag = 1
				column = k // n
				row = n
				break
	if flag == 1:
		vowel = {1: 'a', 2: 'e', 3: 'i', 4: 'o', 0: 'u'}
		ans = ''
		for i in range(row):
			for j in range(column):
				ans += vowel[(i + j) % 5]
		print(ans)
	else:
		print(-1)


import math
n = int(input())
if n < 25:
	print(-1)
	exit(0)
s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
for i in range(5, int(math.sqrt(n)) + 1):
	if n % i == 0:
		tt = n // i
		for j in range(i):
			ans = s[j % 5] * (tt // 5)
			ans += s[j % 5][:tt % 5]
			print(ans, end='')
		exit(0)
print(-1)


from sys import stdin, stdout
from itertools import combinations
from collections import defaultdict, OrderedDict
import math

def listIn():
	return list(map(int, stdin.readline().strip().split()))

def stringListIn():
	return [x for x in stdin.readline().split()]

def intIn():
	return int(stdin.readline())

def stringIn():
	return stdin.readline().strip()
k = intIn()
vowels = 'aeiou'
if k < 25:
	print(-1)
else:
	f = 1
	maxx = k // 5
	for i in range(5, maxx + 1):
		n = k / i
		if n == int(n):
			if n >= 5:
				f = 0
				n = int(n)
				m = i
				break
	if f:
		print(-1)
	else:
		matrix = []
		count = 0
		ch = 0
		for i in range(n):
			extra = ''
			if m > 5:
				if ch < 5:
					extra = vowels[ch] * (m - 5)
					ch += 1
				else:
					extra = 'b' * (m - 5)
			st = vowels[count:] + vowels[:count] + extra
			count = (count + 1) % 5
			matrix.append(st)
		print(''.join(matrix))


from itertools import cycle, islice
k = int(input())
tsu = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']

def construct(a, b):
	x = ''
	for i in range(a):
		x += ''.join(list(islice(cycle(tsu[i % 5]), b)))
	print(x)
for d in range(5, int(100000.0 / 2)):
	q = k / d
	if q < 5:
		print(-1)
		exit()
	if q.is_integer():
		construct(d, int(q))
		break


def main():
	k = int(input())
	for i in range(5, k // 5 + 1):
		if k % i == 0:
			break
	else:
		print(-1)
		return
	m = k // i
	for j in range(i):
		s = 'aeiou'
		s = s[j % 5:] + s[:j % 5]
		s = s * (m // 5) + s[:m % 5]
		print(s, end='')
main()


n = int(input())
nums = [-1, -1]
for i in range(5, n + 1):
	if n % i == 0 and i >= 5 and (n // i >= 5):
		nums = [i, n // i]
if nums[0] == -1:
	print(-1)
else:
	li = ['z'] * nums[1]
	ans = []
	for i in range(0, nums[0]):
		newli = li.copy()
		ans.append(newli)
	ans[0][0] = 'a'
	ans[0][1] = 'e'
	ans[0][2] = 'i'
	ans[0][3] = 'o'
	ans[0][4] = 'u'
	ans[1][0] = 'e'
	ans[1][1] = 'i'
	ans[1][2] = 'o'
	ans[1][3] = 'u'
	ans[1][4] = 'a'
	ans[2][0] = 'i'
	ans[2][1] = 'o'
	ans[2][2] = 'u'
	ans[2][3] = 'a'
	ans[2][4] = 'e'
	ans[3][0] = 'o'
	ans[3][1] = 'u'
	ans[3][2] = 'a'
	ans[3][3] = 'e'
	ans[3][4] = 'i'
	ans[4][0] = 'u'
	ans[4][1] = 'a'
	ans[4][2] = 'e'
	ans[4][3] = 'i'
	ans[4][4] = 'o'
	for i in range(5, nums[1]):
		ans[0][i] = 'a'
		ans[1][i] = 'e'
		ans[2][i] = 'i'
		ans[3][i] = 'o'
		ans[4][i] = 'u'
	for i in range(5, nums[0]):
		ans[i][0] = 'a'
		ans[i][1] = 'e'
		ans[i][2] = 'i'
		ans[i][3] = 'o'
		ans[i][4] = 'u'
	for lis in ans:
		for char in lis:
			print(char, end='')


def findit(k):
	i = 5
	while i * i <= k:
		if k % i == 0:
			if k // i >= 5:
				return [i, k // i]
			return [-1, -1]
		i += 1
	return [-1, -1]

def list_to_string(a):
	s = ''
	for x in range(len(a)):
		s += a[x]
	return s
k = int(input())
[a, b] = findit(k)
if a == -1 and b == -1:
	print(-1)
else:
	v = ['a', 'e', 'i', 'o', 'u']
	s = []
	for x in range(a):
		s.append([v[x % 5]])
	for y in range(a):
		start = 0
		if s[y][0] == 'a':
			start = 1
		elif s[y][0] == 'e':
			start = 2
		elif s[y][0] == 'i':
			start = 3
		elif s[y][0] == 'o':
			start = 4
		elif s[y][0] == 'u':
			start = 0
		for h in range(b - 1):
			s[y].append(v[start % 5])
			start += 1
	ans = ''
	for p in range(a):
		for g in range(b):
			print(s[p][g], end='')


def pf(num):
	arr = []
	while num % 2 == 0:
		num //= 2
		arr.append(2)
	for i in range(3, int(pow(num, 0.5)) + 1, 2):
		while num % i == 0:
			num //= i
			arr.append(i)
	if num > 2:
		arr.append(num)
	return arr

def shift(string, amt):
	return string[amt:] + string[0:amt]
num = int(input())
pff = pf(num)
prod = 1
prod1 = 1
prod2 = 1
for ele in pff:
	prod *= ele
for i in range(5, 10005):
	if prod % i == 0:
		prod1 = i
		prod2 = prod // i
		break
if prod1 < 5 or prod2 < 5:
	print(-1)
else:
	string = 'aeiou'
	len1 = prod1 // 5
	rem1 = prod1 % 5
	row = string * len1 + string[0:rem1]
	ans = ''
	for i in range(prod2):
		ans += shift(row, i)
	print(ans)


n = int(input())
s = 'aeiou'
x = 5
ans = ''
while n // x >= x:
	if n % x == 0:
		for i in range(n):
			ans += s[(i // x + i % x) % 5]
		print(ans)
		break
	x += 1
else:
	print(-1)


v = 'aeiou'
a = [v[i:] + v[:i] for i in range(5)]
k = int(input())
n = 5
while n * n < k and k % n:
	n += 1
print(((''.join(((x * n)[:n] for x in a)) * k)[:k], -1)[n * n > k or k % n > 0])


import itertools
import collections
import heapq
import bisect
import math
import sys
import operator
k = int(input())
n = 5
m = 0
while m == 0 and n * n < k:
	if k % n == 0:
		break
	n += 1
if k % n == 0:
	m = k // n
if m < 5:
	print('-1')
else:
	result = 'aeiou' + 'a' * (m - 5) + 'eioua' + 'e' * (m - 5) + 'iouae' + 'i' * (m - 5) + 'ouaei' + 'o' * (m - 5) + ('uaeio' + 'u' * (m - 5)) * (n - 4)
	print(result)


k = int(input())
lines = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
flag = False
for i in range(5, k + 1):
	if k % i == 0 and k // i >= 5:
		a = i
		b = k // i
		flag = True
		break
if flag:
	rows = a
	columns = b
	s = ''
	cont = 1
	for i in range(rows):
		s += (lines[cont - 1] * 405)[0:columns]
		cont += 1
		if cont > 5:
			cont = 1
	print(s)
else:
	print(-1)


k = int(input())
n = 0
m = 0
if k < 25:
	print(-1)
else:
	n = 5
	while k % n != 0:
		n += 1
	else:
		if k // n < 5:
			print(-1)
			exit()
		else:
			m = k // n
vowels = 'aeiou'
for i in range(0, m):
	s = i
	for j in range(0, n):
		x = (s + j) % len(vowels)
		print(vowels[x], end='')
print()


n = int(input())

def vowely(n):
	if n < 25:
		return (False, 0, 0)
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0 and i >= 5 and (n // i >= 5):
			return (True, i, n // i)
	return (False, 0, 0)

def my_print(state):
	print('\n'.join([''.join(['{:4}'.format(item) for item in row]) for row in state]))
(isVowely, m, n) = vowely(n)
vowels = ['a', 'e', 'i', 'o', 'u']
index = 0
mat = [[0 for x in range(n)] for y in range(m)]
if isVowely:
	for k in range(n + m - 1):
		for j in range(k + 1):
			i = k - j
			if i < m and j < n:
				mat[i][j] = vowels[index]
		index = (index + 1) % 5
	s = [i for r in mat for i in r]
	print(''.join(s))
else:
	print(-1)


import math
n = int(input())
till = int(math.sqrt(n) + 1)
(a, b) = (0, 0)
if n < 6:
	print('-1')
	exit(0)
for i in range(5, till):
	if n % i == 0:
		(a, b) = (n // i, i)
		break
if a == b == 0:
	print('-1')
	exit(0)
if a < 5 or b < 5:
	print('-1')
	exit(0)
result = ''
vowels = ['aeiou', 'uaeio', 'ouaei', 'iouae', 'eioua']
for i in range(a):
	for j in range(b):
		result += vowels[i % 5][j % 5]
print(result)


n = int(input().strip())
import math
q = 0
for k in range(5, n + 1):
	if n % k == 0 and n // k >= 5:
		a = k
		b = n // k
		q = 1
pp = ['a', 'e', 'i', 'o', 'u']
if q == 0:
	print(-1)
else:
	start = 0
	ss = ''
	for t in range(a):
		for tt in range(b):
			ss = ss + pp[(t + tt) % 5]
	print(ss)


import sys
input = sys.stdin.readline
n = int(input())
s = 'aeiou' * 4004
for i in range(5, 101):
	if n % i == 0:
		length = i
		width = n // i
		if width < 5:
			continue
		for _ in range(width):
			print(s[:length], end='')
			s = s[1:]
		print()
		break
else:
	print(-1)


from math import ceil
n = int(input())
s = ''
if n < 25:
	print(-1)
else:
	for i in range(ceil(n ** (1 / 2)), ceil(n / 5) + 1):
		if n % i == 0:
			r = i
			c = n // i
			remain = r - 5
			k = 'aeiou'
			for j in range(c):
				s += k + 'aeiou'[j % 5] * remain
				k = k[1:] + k[0]
			print(s)
			break
	else:
		print(-1)


n = int(input())
i = 5
found = False
while i < n:
	if n % i == 0 and n // i >= 5:
		found = True
		break
	i += 1
if not found:
	print(-1)
	exit(0)
(r, c) = (i, n // i)
arr = [['z'] * c for i in range(n)]
vowels = list('aeiou')
for i in range(r):
	for j in range(c):
		arr[i][j] = vowels[(i + j) % 5]
print(''.join((''.join(arr[i]) for i in range(r))))


def f(n):
	if n < 25:
		return -1
	c = 5
	while n % c > 0:
		c += 1
	r = n // c
	if r < 5:
		return -1
	v = 'a e i o u'.split()
	l = [v[i % 5] for i in range(c)]
	s = []
	for i in range(r):
		[s.append(cc) for cc in l]
		l = l[1:] + [l[0]]
	return ''.join(s)
n = int(input())
print(f(n))


n = int(input())
vs = 'aeiou'

def res(rs, c):
	r = []
	for i in range(rs):
		for j in range(c):
			r += [vs[(i - j) % 5]]
	return ''.join(r)
for i in range(5, n // 5 + 1):
	if not n % i:
		ot = n // i
		if ot >= 5:
			print(res(i, ot))
			exit(0)
print('-1')


from math import sqrt

def solve(k):
	i = 5
	c = 0
	a = 'aeiou'
	while i <= sqrt(k):
		if k % i == 0 and k // i >= 5:
			c = 1
			break
		i += 1
	if c == 0:
		print(-1)
		return 0
	else:
		print(a * (k // 5) + a[0:k - 5 * (k // 5)])
k = int(input())
if k % 25 == 0:
	print('aeioueiouaiouaeouaeiuaeio' * (k // 25))
else:
	solve(k)


import math, sys
n = int(input())
if n == 25:
	print('aeioueiouaiouaeouaeiuaeio')
	sys.exit()
if n == 50:
	print('aeioueiouaiouaeouaeiuaeioaeioueiouaiouaeouaeiuaeio')
	sys.exit()
if n < 25:
	print(-1)
else:
	sieve = [0] * n
	ans = 'aeiou'
	for i in range(5, int(pow(n, 0.5)) + 1):
		if n % i == 0:
			print(ans * (n // 5) + ans[0:n % 5])
			sys.exit()
	print(-1)


import math
n = int(input())
f = 1
for i in range(2, math.ceil(n ** (1 / 2)) + 1):
	if n % i == 0 and i >= 5 and (n // i >= 5):
		f = 0
		(k, m) = (i, n // i)
		break
if f:
	print(-1)
else:
	s = ''
	t = 'aeiou' * 1000
	for i in range(k):
		if i == 0:
			s += t[:m]
			te = s
		else:
			s += t[i:m + i]
	print(s)


l = int(input())
(n, m) = (None, None)
for d in range(5, l):
	if l % d == 0:
		n = d
		m = l // d
		break
if not n or not m or n < 5 or (m < 5):
	print(-1)
else:
	res = ''
	vows = 'aeiou'
	for i in range(n):
		for j in range(m):
			res += vows[(i + j) % 5]
	print(res)


import math

def getFactors(n):
	factors = []
	i = 1
	while i <= math.sqrt(n):
		if n % i == 0:
			if n // i == i:
				factors.append(i)
			else:
				factors.append(i)
				factors.append(n // i)
		i = i + 1
	return factors
n = int(input())
g = sorted(getFactors(n))
l = 0
r = len(g) - 1
ok = False
while l < r:
	if g[l] >= 5 and g[r] >= 5:
		ok = True
		break
	l += 1
	r -= 1
if len(g) % 2 and g[len(g) // 2] >= 5:
	ok = True
if ok:
	st = ''
	v = 'aeiouaeiou'
	for i in range(g[l]):
		st += v[i % 5:5 + i % 5] * (g[r] // 5) + v[i % 5:g[r] % 5 + i % 5]
	print(st)
else:
	print(-1)


n = int(input())
j = 0
for i in range(5, int(n ** 0.5) + 1):
	if n % i == 0:
		j = 1
		break
if j == 0:
	print(-1)
	exit()
v = i
l = [[0 for s in range(v)] for j in range(n // v)]
vo = ['a', 'e', 'i', 'o', 'u']
for i in range(5):
	l[0][i] = vo[i]
for i in range(5):
	for j in range(1, 5):
		l[j][i] = vo[(j + i) % 5]
for i in range(5, n // v):
	for j in range(5):
		l[i][j] = vo[j]
for j in range(5, v):
	for i in range(5):
		l[i][j] = vo[i]
for i in range(n // v):
	for j in range(v):
		if l[i][j] == 0:
			print('c', end='')
		else:
			print(l[i][j], end='')


gl = 'aeoiu'
k = int(input())
n = 1
i = 2
while i * i <= k:
	if k % i == 0:
		n = i
	i += 1
m = k // n
(n, m) = (m, n)
if m < 5:
	print(-1)
	exit()
for i in range(5, m):
	gl += gl[i % 5]
gl *= 4
for i in range(n):
	print(gl[i:i + m], end='')


num = int(input())
count = 0
rest = 0
for i in range(2, num - 1):
	if num % i == 0:
		if i >= 5:
			count = count + 1
			k = i
			rest = num // k
			break
	if count == 0:
		prime = num
if rest >= 5:
	if count == 1:
		r = k - 5
		c = rest - 5
		t = 'aeiou' + r * 'a'
		print('aeiou' + r * 'a' + 'eoaui' + r * 'e' + 'iueao' + r * 'i' + 'oiuea' + r * 'o' + 'uaoie' + r * 'u' + c * t)
else:
	print(-1)


import math
from itertools import cycle
k = int(input())
MAP = ['aeiou', 'uaeio', 'ouaei', 'iouae', 'eioua']

def test(n, m, k):
	W = [[' ' for col in range(m)] for row in range(n)]
	for block_x in range((n + 4) // 5):
		for block_y in range((m + 4) // 5):
			for i in range(5):
				for j in range(5):
					x = block_x * 5 + i
					y = block_y * 5 + j
					if x < n and y < m:
						W[x][y] = MAP[i][j]
	lines = [''.join(row) for row in W]
	print(''.join(lines))
	exit(0)
for n in range(5, int(math.sqrt(k)) + 1):
	if k % n == 0:
		test(n, k // n, k)
print(-1)


k = int(input())
if k < 25:
	print(-1)
else:
	l = []
	for i in range(5, k):
		if k % i == 0 and k // i >= 5:
			l.append(i)
			l.append(k // i)
			break
	if len(l) < 2:
		print(-1)
	else:
		k = ('aeiou' + 'g' * (l[0] - 5)) * l[1]
		for j in range(l[1]):
			print(k[j:j + l[0]], end='')


k = int(input())
(n, m) = (0, 0)
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		n = k // i
		m = i
		break
if n == 0 or m == 0:
	print(-1)
	exit()
arr = [[0 for i in range(n)] for i in range(m)]
vowals = ['a', 'e', 'i', 'o', 'u']
for i in range(m):
	c = 0
	for j in range(n):
		arr[i][j] = vowals[c % 5]
		c += 1
	vowals = vowals[1:] + vowals[0:1]
print(''.join((''.join((j for j in i)) for i in arr)))


import math
lis = ['a', 'e', 'i', 'o', 'u']
c = 1
n = int(input(''))
sq = int(math.sqrt(n))
for i in range(5, sq + 1):
	if n % i == 0:
		a = i
		b = n // i
		break
else:
	c = 0
if c == 0:
	print(-1)
else:
	for i in range(a):
		for j in range(b):
			print(lis[(j + i) % 5], end='')


from math import ceil, sqrt
k = int(input())
(a, b) = (-1, -1)
for n in range(1, int(ceil(sqrt(k))) + 1):
	if k % n == 0 and min(n, k / n) >= 5:
		(a, b) = (min(n, k // n), max(n, k // n))
		break
if a == -1:
	print(-1)
seed = 'aeiou'
base = ''.join([seed[i % 5] for i in range(a)])
ans = ''
for i in range(b):
	ans += base
	base = base[-1] + base[:-1]
print(ans)


k = int(input())
pairs = []
for i in range(1, k + 1):
	if k % i == 0:
		pairs.append((i, k // i))
No = True
for p in pairs:
	if p[0] >= 5 and p[1] >= 5:
		No = False
		good = (p[0], p[1])
		break
if No:
	print(-1)
else:
	W1 = 'aeiou' * (p[0] // 5) + 'aeiou'[:p[0] % 5]
	W2 = 'eioua' * (p[0] // 5) + 'eioua'[:p[0] % 5]
	W3 = 'iouae' * (p[0] // 5) + 'iouae'[:p[0] % 5]
	W4 = 'ouaei' * (p[0] // 5) + 'ouaei'[:p[0] % 5]
	W5 = 'uaeio' * (p[0] // 5) + 'uaeio'[:p[0] % 5]
	N = W1 + W2 + W3 + W4 + W5
	print(N * (p[1] // 5) + N[:p[0] * (p[1] % 5)])


n = int(input())
if n < 25:
	print('-1')
else:
	p = n ** (1 / 2)
	p = int(p)
	r = 0
	c = 0
	for i in range(p, 0, -1):
		if n % i == 0:
			r = i
			c = n // r
			break
	v = []
	v.append('a')
	v.append('e')
	v.append('i')
	v.append('o')
	v.append('u')
	s = ''
	k = 0
	if r >= 5 and c >= 5:
		for i in range(r):
			j = k
			for _ in range(c):
				s = s + v[j]
				j += 1
				if j == 5:
					j = 0
			k += 1
			if k == 5:
				k = 0
		print(s)
	else:
		print('-1')


import math
from collections import defaultdict
import sys

def main():
	n = int(input())
	d = 5
	divs = []
	while d * d <= n:
		if n % d == 0:
			if n // d >= 5:
				divs.append(d)
				divs.append(n // d)
			break
		d += 1
	if len(divs) < 2:
		print(-1)
	else:
		res = []
		s = 'aeiou'
		for r in range(divs[0]):
			for c in range(divs[1]):
				res.append(s[(r + c) % 5])
		print(''.join(res))
main()


k = int(input())
n = 5
t = False
m = 1
s = ''
str = 'aeiou' * 2000
while n * n <= k:
	if k % n == 0:
		t = True
		break
	n += 1
if not t:
	print(-1)
else:
	m = k // n
	g = 0
	for i in range(n):
		g %= 5
		s += str[g:m + g]
		g += 1
	print(s)


n = int(input())
w = ('a', 'e', 'i', 'o', 'u')
a = 0
b = 0
for a in range(5, n):
	if n % a == 0:
		b = n // a
		if a >= 5 and b >= 5:
			break
if not (a >= 5 and b >= 5):
	print(-1)
	exit()
res = []
for r in range(a):
	for c in range(b):
		res.append(w[(r + c) % 5])
print(''.join(res))


from math import sqrt, ceil
t = int(input())
y = 0
x = 0
for i in range(5, ceil(sqrt(t) + 1)):
	if t % i == 0:
		x = i
		y = t // i
		break
vowel = ['a', 'e', 'i', 'o', 'u']
if y == 0 or x == 0 or t < 25:
	print(-1)
else:
	matrix = []
	for i in range(x):
		temp = []
		for j in range(y):
			temp.append('.')
		matrix.append(temp)
	for v in range(len(vowel)):
		count = 0
		vow = vowel[v]
		start = v
		while count < y:
			matrix[start][count] = vow
			start += 1
			count += 1
			if start >= x:
				start = 0
	for i in range(x):
		for j in range(y):
			if matrix[i][j] == '.':
				print('a', end='')
			else:
				print(matrix[i][j], end='')
	print()


import math

def factors(n):
	for i in range(5, int(math.sqrt(n)) + 1):
		if n % i == 0:
			return (i, n // i)
	return (0, 0)
n = int(input())
if n < 25:
	print(-1)
else:
	(f1, f2) = factors(n)
	if f1 < 5 or f2 < 5:
		print(-1)
	else:
		vowels = 'aeiou'
		grid = []
		for _ in range(f1):
			grid.append([0] * f2)
		for i in range(f1):
			for j in range(f2):
				grid[i][j] = vowels[(i + j) % 5]
		for i in range(f1):
			for j in range(f2):
				print(grid[i][j], end='')
		print()


from sys import stdin, stdout
n = int(input())
k = 5
while k * k <= n and n % k:
	k += 1
if k * k > n:
	print(-1)
	exit(0)
s = 'aeiou' * 3
w = 0
for i in range(n // k):
	if w == 5:
		w = 0
	stdout.write(s[w:w + k])
	w += 1


def prime_factors(n):
	i = 5
	factors = []
	while i * i <= n:
		if n % i:
			i += 1
		else:
			n //= i
			factors.append(i)
	if n > 1:
		factors.append(n)
	return factors
x = int(input())
st = 'aeiou'
li = prime_factors(x)
if len(li) <= 1:
	print(-1)
else:
	m = li[0]
	n = x // m
	for i in range(n):
		for j in range(m):
			print(st[(j - i) % 5], end='')
	print('\n', end='')


from collections import deque as dq
a = ['a', 'e', 'i', 'o', 'u']
n = int(input())
if n < 25:
	print(-1)
else:
	f = 0
	r = 0
	for i in range(5, n):
		if n % i == 0 and (n // i >= 5 and i >= 5):
			m = min(n // i, i)
			r = n // m
			l = a * (m // 5) + a[:m % 5]
			break
	else:
		print(-1)
		f = 1
	if f == 0:
		w = ''
		l = dq(l)
		for i in range(r):
			w += ''.join(l)
			l.rotate()
		print(w)


from math import sqrt
vowels = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
a = int(input())
n = -1
for i in range(int(sqrt(a)), 0, -1):
	if a % i == 0:
		if i > 4 and a // i > 4:
			n = i
			break
if n != -1:
	m = a // n
	r = ''
	for idx in range(m):
		r += vowels[idx % 5] * (n // 5) + vowels[idx % 5][:n % 5]
	print(r)
else:
	print(-1)


from math import *

def facto(k):
	z = n = 1
	while sqrt(k) >= z:
		if k % z == 0:
			n = z
		z += 1
	return n
k = int(input())
a = ['a', 'e', 'i', 'o', 'u']
ns = facto(k)
ms = k // ns
stt = ''
if ns < 5:
	print('-1')
else:
	s = 0
	for n in range(ns):
		sz = s
		for m in range(ms):
			stt += a[sz]
			sz = (sz + 1) % 5
		s = (s + 1) % 5
print(stt)


voyels = 'aeiou'
(m, n) = (-1, -1)

def next_permutation(i=1):
	global voyels
	if i:
		voyels = voyels[-1] + voyels[:-1]
	return voyels

def solve(k):
	if k < 25:
		return -1
	divisors = sorted(list({(x, k // x) for x in range(1, (k + 1) // 2 + 1) if k % x == 0}), key=lambda a: (a[0] + a[1], a[0]))
	global voyels
	global m, n
	for divs in divisors:
		if divs[0] >= 5 and divs[1] >= 5:
			(m, n) = divs
			break
	else:
		return -1
	voyels = m // 5 * voyels + voyels[:m % 5]
	return ''.join([next_permutation(i) for i in range(n)])
print(solve(int(input())))


def num(x):
	a = int(x ** 0.5) + 1
	f = False
	l = []
	for i in range(a, 4, -1):
		if x % i == 0:
			y = x // i
			if y >= 5:
				f = True
				l.append(y)
				l.append(i)
				break
	return l
n = int(input())
l = num(n)
if len(l) == 0:
	print(-1)
else:
	a = l[0] // 5
	b = l[0] % 5
	ans = ''
	s = 'aeiou'
	for i in range(l[1]):
		ans += a * s + s[:b]
		s = s[1:] + s[0]
	print(ans)


mod = 1000000007
ii = lambda : int(input())
si = lambda : input()
dgl = lambda : list(map(int, input()))
f = lambda : map(int, input().split())
il = lambda : list(map(int, input().split()))
ls = lambda : list(input())
s = 'aeiou' * 20000
n = ii()
fg = 0
(x, y) = (0, 0)
for i in range(5, 1001):
	if n % i == 0 and n // i >= 5:
		fg = 1
		x = i
		y = n // i
s1 = ''
if fg == 1:
	for i in range(y):
		s1 += s[i:i + x]
	print(s1)
else:
	print(-1)


from math import *

def is_prime(n):
	for i in range(2, floor(n ** 0.5) + 10):
		if n % i == 0:
			return False
	return True
n = int(input())
ans = -1
vowels = 'aeiou'
if not is_prime(n):
	for i in range(5, floor(n ** 0.5) + 10):
		if n % i == 0 and n // i >= 5:
			(x, y) = (i, n // i)
			ans = ''
			for p in range(x):
				ans += (vowels * y)[p % 5:p % 5 + y]
			break
print(ans)


def str_to_arr(s, n, m):
	arr = []
	temp = []
	ind = 0
	for x in range(n):
		temp = []
		for y in range(m):
			temp += [s[ind]]
			ind += 1
		arr += [temp]
	return arr

def change(arr, x, y):
	pre = [0] * 5
	n = len(arr)
	m = len(arr[0])
	for i in range(n):
		if arr[i][y] == 'a':
			pre[0] = 1
		if arr[i][y] == 'e':
			pre[1] = 1
		if arr[i][y] == 'i':
			pre[2] = 1
		if arr[i][y] == 'o':
			pre[3] = 1
		if arr[i][y] == 'u':
			pre[4] = 1
	if pre[0] == 0:
		arr[x][y] = 'a'
		return arr
	elif pre[1] == 0:
		arr[x][y] = 'e'
		return arr
	elif pre[2] == 0:
		arr[x][y] = 'i'
		return arr
	elif pre[3] == 0:
		arr[x][y] = 'o'
		return arr
	elif pre[4] == 0:
		arr[x][y] = 'u'
		return arr
	arr[x][y] = 'a'
	return arr

def arr_to_str(arr):
	s = ''
	n = len(arr)
	m = len(arr[0])
	for i in range(n):
		for j in range(m):
			s += arr[i][j]
	return s
from math import sqrt
nn = int(input())
vow = 'aeiou'
ans = []
fac = []
for i in range(1, int(sqrt(nn) + 1)):
	if nn % i == 0:
		fac += [(i, nn // i)]
var = 0
for x in fac:
	if x[0] >= 5 and x[1] >= 5:
		var = 1
		n = x[0]
		m = x[1]
		break
if var == 0:
	print(-1)
else:
	ans = ''
	s = ''
	ind = 0
	while ind != m // 5 * 5:
		s += vow[ind % 5]
		ind += 1
	s += 'x' * (m % 5)
	for i in range(n):
		ans += s
		t = s[len(s) - 1]
		for b in range(m - 1):
			t += s[b]
		s = t
	arrans = str_to_arr(ans, n, m)
	for x in range(n):
		pre = [0] * 5
		for y in range(m):
			if arrans[x][y] == 'x':
				arrans = change(arrans, x, y)
	finalans = arr_to_str(arrans)
	print(finalans)


import math
n = int(input())
if n < 25:
	print(-1)
else:
	x = True
	for i in range(5, int(math.sqrt(n)) + 1):
		if n % i == 0:
			x = (i, n // i)
			break
	if x == True:
		print(-1)
	else:
		res = []
		s = 'aeiou'
		for i in range(5, x[0]):
			s += 'b'
		for i in range(x[1]):
			res.append(s[i:] + s[:i])
		xx = ''.join(res)
		print(xx)


def get_string(n, m):
	vowels = 'aeiou'
	r = []
	for i in range(m):
		t = (vowels[i % 5:] + vowels)[:5]
		row = t * 1000
		r.append(row[:n])
	return ''.join(r)

def solve(n):
	for p in range(5, n - 1):
		if n % p == 0:
			if n // p < 5:
				return -1
			return get_string(p, n // p)
	return '-1'
val = int(input())
print(solve(val))


k = int(input())
t = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
slovo = False
for x in range(5, int(k ** 0.5) + 1):
	if k % x == 0:
		n = x
		m = k // x
		slovo = True
		break
rez = ''
if not slovo:
	print(-1)
else:
	for i in range(n):
		istr = i % 5
		baz = t[istr]
		rez += baz * (m // 5) + baz[0:m % 5]
print(rez)


from math import sqrt, floor
from collections import deque
k = int(input())
if k < 25:
	print(-1)
	exit()
v = 'aeiou'
for n in range(5, int(sqrt(k) + 1)):
	m = int(k // n)
	if m >= 5 and m * n == k:
		x = n // 5
		y = n % 5
		v = v * x + v[:y]
		s = v
		for i in range(m - 1):
			v = v[n - 1] + v[:n - 1]
			s += v
		print(s)
		break
else:
	print(-1)


import sys
m = {0: 'a', 1: 'i', 2: 'u', 3: 'e', 4: 'o'}
n = int(input())
if n < 25:
	print(-1)
	sys.exit()
a = ['aiueo', 'iueoa', 'ueoai', 'eoaiu', 'oaiue']
d = []
for i in range(5, int(n ** 0.5) + 1):
	if n % i == 0:
		d.append(i)
		d.append(n // i)
if len(d) == 0:
	print(-1)
	sys.exit()
for i in range(5):
	a[i] += m[i] * (d[1] - 5)
for i in range(d[0] - 5):
	a.append(''.join([m[j % 5] for j in range(d[1])]))
print(''.join(a))


from bisect import bisect_right as br
from bisect import bisect_left as bl
from collections import *
from itertools import *
import functools
import sys
from math import *
from decimal import *
from copy import *
getcontext().prec = 30
MAX = sys.maxsize
MAXN = 10 ** 6 + 10
MOD = 10 ** 9 + 7

def isprime(n):
	n = abs(int(n))
	if n < 2:
		return False
	if n == 2:
		return True
	if not n & 1:
		return False
	for x in range(3, int(n ** 0.5) + 1, 2):
		if n % x == 0:
			return False
	return True

def mhd(a, b, x, y):
	return abs(a - x) + abs(b - y)

def numIN(x=' '):
	return map(int, sys.stdin.readline().strip().split(x))

def charIN(x=' '):
	return sys.stdin.readline().strip().split(x)

def arrIN():
	return list(numIN())

def dis(x, y):
	a = y[0] - x[0]
	b = x[1] - y[1]
	return (a * a + b * b) ** 0.5

def lgcd(a):
	g = a[0]
	for i in range(1, len(a)):
		g = math.gcd(g, a[i])
	return g

def ms(a):
	msf = -MAX
	meh = 0
	st = en = be = 0
	for i in range(len(a)):
		meh += a[i]
		if msf < meh:
			msf = meh
			st = be
			en = i
		if meh < 0:
			meh = 0
			be = i + 1
	return (msf, st, en)

def flush():
	return sys.stdout.flush()

def chk(k):
	i = 1
	while i <= n:
		if n % i == 0:
			if i >= 5 and n // i >= 5:
				return (i, n // i)
		i += 1
	return (0, 0)
n = int(input())
(a, b) = chk(n)
l = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
if a == 0 and b == 0:
	print(-1)
else:
	ans = []
	for i in range(a):
		temp = l[i % 5] * (b // 5) + l[i % 5][:b % 5]
		ans.append(temp)
	print(''.join(ans))


s = 'aeiou'
k = int(input())
d = []
for i in range(5, int(k ** 0.5) + 1):
	if k % i == 0 and k // i >= 5:
		d.append(i)
		d.append(k // i)
if d:
	row = 'aeiou' * (d[0] // 5) + 'aeiou'[:d[0] % 5]
	for i in range(d[1]):
		print(row, end='')
		row = row[1:] + row[0]
else:
	print(-1)


dict = {1: 'a', 2: 'i', 3: 'u', 4: 'e', 0: 'o'}
n = 0
m = 0
k = int(input())
for i in range(5, int(k ** (1 / 2) + 1)):
	if k % i == 0:
		n = i
if n != 0:
	m = k // n
	ans = ''
	for i in range(n):
		for j in range(m):
			ans += dict[(i + j) % 5]
	print(ans)
else:
	print(-1)


n = int(input())
i = 2
factor = 1
str1 = 'aeiou'
str2 = 'uaeio'
str3 = 'ouaei'
str4 = 'iouae'
str5 = 'eioua'
while i < n:
	if n % i == 0 and i >= 5:
		div = n // i
		if div >= 5:
			factor = i
			break
	i = i + 1
if factor == 1:
	print(-1)
else:
	diff = factor - 5
	for i in range(diff):
		str1 = str1 + 'a'
		str2 = str2 + 'e'
		str3 = str3 + 'i'
		str4 = str4 + 'o'
		str5 = str5 + 'u'
	quo = n // factor
	diff = quo - 5
	final = str1 + str2 + str3 + str4 + str5 + str1 * diff
	print(final)


import sys
from collections import defaultdict as dd
from collections import deque
from functools import *
from fractions import Fraction as f
from copy import *
from bisect import *
from heapq import *
from itertools import permutations, product

def eprint(*args):
	print(*args, file=sys.stderr)
zz = 1
if zz:
	input = sys.stdin.readline
else:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('all.txt', 'w')

def inc(d, c, x=1):
	d[c] = d[c] + x if c in d else x

def bo(i):
	return ord(i) - ord('A')

def li():
	return [int(xx) for xx in input().split()]

def fli():
	return [float(x) for x in input().split()]

def comp(a, b):
	if a > b:
		return 2
	return 2 if a == b else 0

def gi():
	return [xx for xx in input().split()]

def fi():
	return int(input())

def pro(a):
	return reduce(lambda a, b: a * b, a)

def swap(a, i, j):
	(a[i], a[j]) = (a[j], a[i])

def si():
	return list(input().rstrip())

def mi():
	return map(int, input().split())

def gh():
	sys.stdout.flush()

def isvalid(i, j):
	return 0 <= i < n and 0 <= j < n

def bo(i):
	return ord(i) - ord('a')

def graph(n, m):
	for i in range(m):
		(x, y) = mi()
		a[x].append(y)
		a[y].append(x)
t = 1
while t > 0:
	t -= 1
	k = fi()
	p = [-1, -1]
	for i in range(1, k + 1):
		if k % i == 0 and i >= 5 and (k // i >= 5):
			p = [i, k // i]
			break
	if p.count(-1):
		print(-1)
		continue
	c = 0
	s = 'aeiou'
	for i in range(p[0]):
		pp = c
		for j in range(p[1]):
			print(s[pp], end='')
			pp = (pp + 1) % 5
		c = (c + 1) % 5


k = int(input())

def divisors(n):
	div = []
	for i in range(1, int(n ** (1 / 2)) + 1):
		if n % i == 0:
			div.append(i)
			if i * i != n:
				div.append(n // i)
	return sorted(div)
div = divisors(k)
a = b = 0
for i in div:
	if i >= 5:
		a = i
		break
if a != 0 and k // a >= 5:
	b = k // a
else:
	print(-1)
	exit(0)
l = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
l = [i * (a // 5) + i[:a % 5] for i in l]
l = l * (b // 5) + l[:b % 5]
print(''.join(l))


k = int(input())
for n in range(int(k ** 0.5), 0, -1):
	if not k % n and k // n >= 5:
		break
if n < 5:
	print('-1')
	exit()
s = 'aeiou'
print(''.join([s[(i + j) % 5] for i in range(k // n) for j in range(n)]))


import atexit
import io
import sys
from collections import Counter
R = lambda : map(int, input().split())
k = int(input())
if k <= 24:
	print(-1)
	exit()
var1 = 0
var2 = 0
flag = False
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		var1 = k // i
		var2 = i
		flag = True
		break
if flag == True:
	for r in range(var1):
		for j in range(var2):
			print('aeiou'[(r + j) % 5], end='')
else:
	print(-1)


k = int(input())

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
n = 0
m = 0
if isPrime(k) == True:
	print(-1)
else:
	l = 0
	for i in range(5, k + 1):
		if k % i == 0 and k // i >= 5:
			n = k // i
			m = i
			l += 1
			break
	if l != 1:
		print(-1)
	else:
		z = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
		p = n // 5
		l = n % 5
		o = m // 5
		u = m % 5
		s = ''
		for i in range(len(z)):
			z[i] = z[i] * p + z[i][:l]
		y = 0
		for i in range(m):
			if y == 5:
				y = 0
			s += z[y]
			y += 1
		print(s)


import math
k = int(input())
I = math.floor(math.sqrt(k))
x = False
s = ''
for i in range(math.floor(math.sqrt(k)) - 1):
	if k % I == 0 and I > 4 and (k // I > 4):
		x = True
		break
	I = I - 1
if x:
	for m in range(I):
		for l in range(k // I):
			if (l + m) % 5 == 0:
				s = s + 'a'
			elif (l + m) % 5 == 1:
				s = s + 'i'
			elif (l + m) % 5 == 2:
				s = s + 'u'
			elif (l + m) % 5 == 3:
				s = s + 'e'
			elif (l + m) % 5 == 4:
				s = s + 'o'
	print(s)
else:
	print(-1)


k = int(input())
n = 0
m = 0
if k < 5:
	print('-1')
	exit()
else:
	for i in range(5, k):
		if k % i == 0 and k // i >= 5:
			n = k // i
			m = k // n
			break
if n == 0 or m == 0 or m < 5:
	print('-1')
else:
	for i in range(n):
		for j in range(m):
			print('aeiou'[(i + j) % 5], end='')


k = int(input())
a = 0
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		a = i
		break
if a == 0:
	print(-1)
else:
	r = ['a', 'e', 'i', 'o', 'u']
	i = 0
	h = k // a
	h = max(h, a)
	u = 0
	while i < k - 4:
		j = 0
		while j < h - 4:
			print(''.join(r), end='')
			j += 5
		u = h % 5
		print(''.join(r[:u]), end='')
		if u == 0:
			u = 1
		r = r[u:] + r[:u]
		i += h


import math
k = int(input())

def prime(k):
	for i in range(2, int(k ** 0.5) + 1):
		if k % i == 0:
			return False
	return True

def less5(k):
	for i in range(int(k ** 0.5), 1, -1):
		if k % i == 0 and i >= 5:
			return False
	return True
if k < 25 or prime(k) or less5(k):
	print(-1)
else:
	(m, n) = (0, 0)
	for i in range(int(k ** 0.5), 2, -1):
		if k % i == 0:
			m = i
			n = k // m
			break
	l = 'aeiou'
	ans = ''
	(k, v) = (0, 0)
	for i in range(m):
		k = v
		for j in range(n):
			print(l[k], end='')
			k = (k + 1) % 5
		v = (v + 1) % 5


n = int(input())
i = 5
if n < 25:
	print(-1)
	exit()
while n % i != 0:
	i += 1
if i == n or n // i < 5:
	print(-1)
	exit()
vowel = 'aeiou'
final = ''
for j in range(n // i):
	temp = vowel * (i // 5) + vowel[:i % 5]
	vowel = vowel[1:] + vowel[0]
	final += temp
print(final)


import math
import sys
n = int(input())
t = math.ceil(math.sqrt(n))
j = 0
for i in range(5, t + 1):
	if n % i == 0:
		j = i
		break
if j == 0:
	print('-1')
	sys.exit(0)
if n // j < 5:
	print('-1')
	sys.exit(0)
s = ''
p = 'aeiou'
l = n // j
for i in range(j):
	q = l // 5
	r = l % 5
	if r == 0:
		s += p * q
	else:
		s += p * q + p[:r]
	p = p[1:] + p[0]
print(s)


def construir_palavra(r, c):
	v = 'aeiou'
	res = ''
	for i in range(r):
		for j in range(i % 5, c + i % 5):
			res += v[j % 5]
	return res
k = int(input())
if k < 25:
	print(-1)
else:
	c = 0
	for r in range(5, 101):
		if k % r == 0 and k / r >= 5:
			c = k // r
			break
	if c == 0:
		print(-1)
	else:
		print(construir_palavra(r, c))


from collections import defaultdict as dd
import math

def nn():
	return int(input())

def li():
	return list(input())

def mi():
	return map(int, input().split())

def lm():
	return list(map(int, input().split()))
k = nn()
n = 5
d = []
while n * n <= k:
	if k % n == 0:
		d = [n, k // n]
		break
	else:
		n += 1
vowels = ['a', 'e', 'i', 'o', 'u']
if len(d) == 0:
	print(-1)
else:
	(n, m) = d
	word = []
	for i in range(n):
		row = []
		for j in range(m):
			row.append(vowels[(i + j) % 5])
		word.extend(row)
	print(''.join(word))


k = int(input())
if k < 25:
	print(-1)
else:
	i = 5
	yes = False
	while k // i >= 5:
		if k % i == 0:
			yes = True
			break
		i += 1
	if not yes:
		print(-1)
	else:
		n = i
		m = k // i
		a = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
		t = ['a', 'e', 'i', 'o', 'u']
		for k in range(5, m):
			t.append('m')
		for j in range(5, n):
			a.append(t)
		l = 0
		for p in ['a', 'e', 'i', 'o', 'u']:
			for j in range(5, m):
				a[l].append(p)
			l += 1
		for k in range(n):
			for j in range(m):
				print(a[k][j], end='')


n = int(input())
s1 = 'aeiou'
if n < 25:
	print(-1)
else:
	flag = False
	for i in range(5, int(n ** (1 / 2)) + 1):
		if n % i == 0:
			if int(n / i) >= 5:
				flag = True
				break
	if flag:
		x = i
		q = ''
		y = int(n / i)
		for i in range(y):
			t = s1[i:] + s1[:i]
			q = q + t * int(x / 5) + t[:int(x % 5)]
		print(q)
	else:
		print(-1)


import bisect
import decimal
from decimal import Decimal
import os
from collections import Counter
import bisect
from collections import defaultdict
import math
import random
import heapq
from math import sqrt
import sys
from functools import reduce, cmp_to_key
from collections import deque
import threading
from itertools import combinations
from io import BytesIO, IOBase
from itertools import accumulate
decimal.getcontext().prec = 46

def primeFactors(n):
	prime = set()
	while n % 2 == 0:
		prime.add(2)
		n = n // 2
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			prime.add(i)
			n = n // i
	if n > 2:
		prime.add(n)
	return list(prime)

def getFactors(n):
	factors = []
	i = 1
	while i <= math.sqrt(n):
		if n % i == 0:
			if n // i == i:
				factors.append(i)
			else:
				factors.append(i)
				factors.append(n // i)
		i = i + 1
	return factors

def SieveOfEratosthenes(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	num = []
	for p in range(2, n + 1):
		if prime[p]:
			num.append(p)
	return num

def lcm(a, b):
	return a * b // math.gcd(a, b)

def sort_dict(key_value):
	return sorted(key_value.items(), key=lambda kv: (kv[1], kv[0]))

def list_input():
	return list(map(int, input().split()))

def num_input():
	return map(int, input().split())

def string_list():
	return list(input())

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def binaryToDecimal(n):
	return int(n, 2)

def DFS(n, s, adj):
	visited = [False for i in range(n + 1)]
	stack = []
	stack.append(s)
	while len(stack):
		s = stack[-1]
		stack.pop()
		if not visited[s]:
			visited[s] = True
		for node in adj[s]:
			if not visited[node]:
				stack.append(node)

def solve():
	n = int(input())
	factors = getFactors(n)
	factors.sort()
	(start, end) = (0, len(factors) - 1)
	flag = False
	while start <= end:
		if factors[start] >= 5 and factors[end] >= 5:
			flag = True
			break
		start += 1
		end -= 1
	if flag:
		(n, m) = (factors[start], factors[end])
		ans = 'aeiou'
		for i in range(n):
			for j in range(m):
				print(ans[(i + j) % 5], end='')
	else:
		print(-1)
t = 1
for _ in range(t):
	solve()


import sys
k = int(input())
if k < 25:
	print('-1')
	sys.exit()
else:
	st = 'aeiou'
	for n in range(5, k):
		if k % n == 0:
			m = k // n
			if m >= 5:
				for j in range(n):
					x = j % 5
					print(st[x:], end='')
					i = m - (5 - x)
					while i >= 5:
						print(st, end='')
						i -= 5
					print(st[0:i], end='')
				sys.exit()
print('-1')


def prime(n):
	import math
	l = 0
	for i in range(1, math.ceil(n ** (1 / 2)) + 1):
		if i * (n // i) == n:
			if i >= 5 and n // i >= 5:
				return (i, n // i)
	return True
n = int(input())
k = prime(n)
if k == True:
	print(-1)
else:
	(n, m) = k
	a = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	l = n // 5
	t = n % 5
	i = 0
	while i < m:
		s = a[i % 5] * l + a[i % 5][:t]
		print(s, end='')
		i = i + 1


import sys, os
f = lambda : list(map(int, input().split()))
if 'local' in os.environ:
	sys.stdin = open('./input.txt', 'r')

def solve():
	k = f()[0]
	n = 0
	m = 0
	for n in range(5, k + 1):
		if k % n == 0 and k // n >= 5:
			m = k // n
			break
	if m == 0:
		print(-1)
		return
	vs = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		offset = i % 5
		for j in range(m):
			print(vs[(j + offset) % 5], end='')
	print()
solve()


from sys import stdin, stdout

def input():
	return stdin.readline()[:-1]
n = int(input())
factors = []
for i in range(2, n // 2):
	if n % i == 0:
		factors.append((i, n // i))
possible = False
for i in factors:
	if i[1] >= 5 and i[0] >= 5:
		factor = i
		possible = True
		break
matrix = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
if possible:
	m = ['a', 'e', 'i', 'o', 'u']
	for i in range(5):
		matrix[i] += m[i] * (factor[0] - 5)
	matrix += ['aeiou' + 'a' * (factor[0] - 5)] * (factor[1] - 5)
	for i in matrix:
		print(i, end='')
	print('')
else:
	print(-1)


n = int(input())
a = 5
while a * a <= n:
	if n % a == 0:
		break
	a = a + 1
else:
	print('-1')
	exit()
if int(n / a) < 5:
	print('-1')
	exit()
b = int(n / a)
s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
row = s * int(b / 5) + s[:b % 5]
ans = ''
for i in range(a):
	temp = s[i % 5] * int(b / 5) + s[i % 5][:b % 5]
	ans = ans + temp
print(ans)


K = int(input())
possible = -1
for i in range(5, 1000):
	if K % i == 0:
		row = i
		col = K // i
		if col < 5:
			possible = -1
		else:
			possible = 1
			data = [[''] * col for _ in range(row)]
			for i in range(row):
				if i % 5 == 0:
					v = ['a', 'e', 'i', 'o', 'u']
				if i % 5 == 1:
					v = ['e', 'i', 'o', 'u', 'a']
				if i % 5 == 2:
					v = ['i', 'o', 'u', 'a', 'e']
				if i % 5 == 3:
					v = ['o', 'u', 'a', 'e', 'i']
				if i % 5 == 4:
					v = ['u', 'a', 'e', 'i', 'o']
				for j in range(col):
					print(v[j % 5], end='')
			break
if possible == -1:
	print(-1)


k = int(input())
arr = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
pp = 'aeiou'
a = -1
for l in range(5, 101):
	if k % l == 0 and k // l > 4:
		a = l
		break
if a == -1:
	print(-1)
else:
	leng = a
	b2 = k // a
	lentoadd = leng - 5
	b3 = b2 - 5
	for s in range(lentoadd):
		arr.append(['a', 'e', 'i', 'o', 'u'])
	for y in range(b3):
		for ee in range(len(arr)):
			arr[ee].append(pp[ee % 5])
	st = ''
	for w in range(len(arr)):
		for n in range(len(arr[0])):
			st = st + arr[w][n]
	print(st)


from math import ceil
n = int(input())
if n < 25:
	print(-1)
else:
	i = 5
	f = 0
	for i in range(5, n + 1):
		if n % i == 0:
			f = 1
			break
	if f == 0 or n // i < 5:
		print(-1)
	else:
		a = {0: 'a', 1: 'e', 2: 'i', 3: 'o', 4: 'u'}
		for k in range(i):
			for j in range(n // i):
				print(a[(k + j) % 5], end='')


k = int(input())
s = 'aeiou'
m = {}
for i in range(0, 5):
	m[s[i]] = i
for i in range(5, k + 1):
	if k % i > 0:
		continue
	j = k // i
	if i < 5 or j < 5:
		continue
	ans = ''
	for x in range(0, j):
		ans += s[x % 5]
	for x in range(j, k):
		ans += s[(m[ans[x - j]] + 1) % 5]
	print(ans)
	exit(0)
print(-1)


def printDivisors(n):
	div = []
	i = 1
	while i <= n:
		if n % i == 0:
			div.append(i)
		i = i + 1
	return div
n = int(input())
arr = ['a', 'e', 'i', 'o', 'u']
flag = 0
divisors = printDivisors(n)
divisors.sort()
(r, c) = (0, 0)
for q in divisors[:-1]:
	if q >= 5 and n // q >= 5:
		flag += 1
		r = q
	if flag >= 1:
		break
if flag < 1:
	print(-1)
else:
	count = -1
	for w in range(n // r):
		count += 1
		for q in range(r):
			print(arr[(q + count) % 5], end='')
print('')


n = int(input())
f = 0
if n / 2 < 5:
	print(-1)
else:
	for i in range(5, n // 2):
		if n % i == 0 and n // i >= 5:
			s = 'aeiou' + 'g' * (i - 5)
			j = 1
			ans = s
			while j < n // i:
				s = s[-1] + s[:-1]
				ans = ans + s
				j += 1
			print(ans)
			f = 1
			break
	if f == 0:
		print(-1)


k = int(input())
a = 0
for i in range(5, k // 5 + 1):
	if k % i == 0 and k // i >= 5:
		s = 'aeiou'
		a = 1
		for j in range(i):
			for m in range(k // i):
				print(s[(j + m) % 5], end='')
		break
if a != 1:
	print('-1')


k = int(input())
n = -1
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		n = i
		break
if n == -1:
	print(-1)
	exit()
m = k // n
v = [*'aeiou']
res = [['a'] * m for _ in range(n)]
for i in range(5):
	res[i][:5] = v[i:] + v[:i]
for i in range(5, n):
	res[i][:5] = v
for i in range(5, m):
	for j in range(5):
		res[j][i] = v[j]
ans = []
for l in res:
	ans.extend(l)
print(''.join(ans))


n = int(input())
flag = 0
for i in range(2, int(n ** 0.5) + 1):
	if n % i == 0:
		if i >= 5 and n // i >= 5:
			flag = 1
			x = i
			y = n // i
			break
if flag == 0:
	print(-1)
else:
	l1 = ['a', 'e', 'i', 'o', 'u']
	ans = []
	for i in range(0, x):
		for j in range(0, y):
			ans.append(l1[(i + j) % 5])
	print(''.join(ans))


n = int(input())
if n < 25:
	print(-1)
else:
	z = 'aeioueaouiiouaeoueiauiaeo'
	k = 'aeiou'
	(flag, z1, z2) = (0, 0, 0)
	for i in range(1, 10001):
		if n % i == 0:
			z1 = n // i
			z2 = i
			if z1 >= 5 and z2 >= 5:
				flag = 1
				break
	if flag == 0:
		print(-1)
	else:
		n = z1
		m = z2
		for i in range(n - 5):
			z += k
		ar = []
		d = 0
		for i in range(len(z)):
			if z[d:d + 5] == '':
				break
			ar.append(z[d:d + 5])
			d += 5
		(x, y) = (0, 0)
		for i in range((m - 5) * n):
			if x == len(ar):
				x = 0
			if y == len(k):
				y = 0
			ar[x] += k[y]
			x += 1
			y += 1
		print(''.join(ar))


k = int(input())
i = 5
while i * i <= k:
	if k % i == 0:
		break
	i += 1
if i * i > k:
	print(-1)
else:
	n = i
	m = k // i
	print('aeiou' + 'a' * (n - 5), end='')
	print('uaeio' + 'e' * (n - 5), end='')
	print('ouaei' + 'i' * (n - 5), end='')
	print('iouae' + 'o' * (n - 5), end='')
	print('eioua' + 'u' * (n - 5), end='')
	for i in range(m - 5):
		print('aeiou' + 'x' * (n - 5), end='')
	print()


string = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']

def find_n(fact, MAX):
	n = MAX
	size = len(fact)
	break_now = False
	for i in range(0, size):
		if fact[i] >= 5:
			(break_now, n) = (True, fact[i])
		for j in range(i + 1, size):
			val = fact[i] * fact[j]
			if val >= 5:
				(break_now, n) = (True, min(n, val))
			for k in range(j + 1, size):
				(break_now, val) = (True, fact[i] * fact[j] * fact[k])
				if val >= 5:
					n = min(n, val)
	return n

def find_n_m(num):
	copy_num = num
	fact = []
	while num > 1 and num % 2 == 0:
		num //= 2
		fact.append(2)
	for i in range(3, num, 2):
		if i * i > num:
			break
		while num % i == 0:
			num //= i
			fact.append(i)
	if num > 1:
		fact.append(num)
	n = find_n(fact, 100000)
	fact.reverse()
	n = min(find_n(fact, n), n)
	return (n, copy_num // n)

def solve(k):
	(n, m) = find_n_m(k)
	if n < 5 or m < 5:
		return -1
	ans = list(string)
	m -= 5
	n -= 5
	while m >= 5:
		for i in range(5):
			ans[i] += string[i]
		m -= 5
	while m > 0:
		for i in range(5):
			ans[i] += string[i][0]
		m -= 1
	demo = ans[0]
	for _ in range(n):
		ans.append(demo)
	final_ans = ''
	for value in ans:
		final_ans += value
	return final_ans
k = int(input())
print(solve(k))


from math import sqrt, floor
k = int(input())
if k < 25:
	print('-1')
	exit()
vow = ['a', 'e', 'i', 'o', 'u']
ans = ''
a = []
if sqrt(k) - floor(sqrt(k)) == 0:
	for i in range(int(sqrt(k))):
		for j in range(int(sqrt(k))):
			t = (i + j) % 5
			ans = ans + vow[t]
	print(ans)
else:
	for i in range(1, k + 1):
		if k % i == 0:
			a.append(i)
	n1 = len(a) // 2 - 1
	n2 = n1 + 1
	if a[n1] >= 5 and a[n2] >= 5:
		for i in range(a[n1]):
			for j in range(a[n2]):
				t = (i + j) % 5
				ans = ans + vow[t]
		print(ans)
	else:
		print('-1')


n = int(input())
ans = 0
for i in range(5, int(n ** 0.5) + 1):
	if n % i == 0:
		if n / i >= 5:
			ans = i
			break
if ans == 0:
	print('-1')
else:
	s = 0
	s1 = 0
	b = ['a', 'e', 'i', 'o', 'u']
	for i in range(int(n / ans)):
		s = s1
		s1 = (s1 + 1) % 5
		for j in range(ans):
			print(b[s], end='')
			s = (s + 1) % 5


from functools import reduce

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))
k = int(input())
s = list(factors(k))
ans = ''
cycle = ['a', 'e', 'i', 'o', 'u']
for i in range(len(s)):
	if min(s[i], k // s[i]) < 5:
		continue
	for j in range(s[i]):
		for l in range(k // s[i]):
			ans += cycle[(j % 5 + l % 5) % 5]
	print(ans)
	quit()
print(-1)


fac = []
n = int(input())
for i in range(1, int(n ** 0.5) + 1):
	if n % i == 0:
		fac.append(i)
		if i * i != n:
			fac.append(n // i)
x = int(n ** 0.5)
if x * x == n:
	fac.append(x)
fac.sort()
a = 0
b = 0
flag = False
for i in range(len(fac) // 2):
	if fac[i] >= 5 and fac[-1 - i] >= 5:
		flag = True
		a = fac[i]
		b = fac[-1 - i]
if not flag:
	print(-1)
else:
	s = 'aeiou' * (10 ** 4 + 10)
	for i in range(a):
		print(s[i:i + b], end='')


import math
k = int(input())
flag = 0
if k < 25:
	flag = -1
else:
	i = 5
	while i < int(math.sqrt(k) + 1):
		if not k % i:
			if k / i > 4:
				m = i
				n = k / i
				flag = 1
				break
		i += 1
if flag == 1:
	out = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	i = 0
	while i < m - 5:
		out.append('aeiou')
		i += 1
	while n - 5:
		i = 0
		out[0] += 'a'
		out[1] += 'e'
		out[2] += 'i'
		out[3] += 'o'
		out[4] += 'u'
		while i < m - 5:
			out[5 + i] += 'x'
			i += 1
		n -= 1
	flag = ''
	for x in out:
		flag += x
	print(flag)
else:
	print(-1)


import math
n = int(input())
s = 'aeiou'
a = -1
b = -1
for i in range(5, math.ceil(math.sqrt(n)) + 1):
	if n % i == 0:
		a = i
		b = n // i
		break
if a == -1 or b < 5:
	print('-1')
	exit()
for i in range(a - 5):
	s += 'a'
r = ''
for j in range(b):
	r += s[j:] + s[:j]
print(r)


import math
k = int(input())
if k < 25:
	print('-1')
else:
	k1 = int(math.sqrt(k))
	s = 'aeiou'
	s1 = ''
	arr = ['a', 'e', 'i', 'o', 'u']
	m = n = 0
	for i in range(5, k1 + 1):
		if k % i == 0 and k // i >= 5:
			m = i
			n = k // i
	if m == 0 and n == 0:
		print('-1')
	elif k == m * n and m >= 5 and (n >= 5):
		s1 = s * (n // 5)
		for i in range(n % 5):
			s1 += arr[i]
		s2 = s1
		for i in range(m - 1):
			t = arr.index(s1[-1])
			if t == 4:
				t = 0
			else:
				t += 1
			s1 = s1[1:] + arr[t]
			s2 += s1
		print(s2)


def dl(x):
	d = 1
	while d * d <= x:
		if x % d == 0:
			if d >= 5 and x // d >= 5:
				return [d, x // d]
		d += 1
	return [-1]
k = int(input())
ch = dl(k)
if ch != [-1]:
	st = 'aeiou'
	new = ''
	for i in range(ch[0] // 5):
		new += st
	new += st[:ch[0] % 5]
	for i in range(ch[0]):
		print(new[i % ch[1]:] + new[:i % ch[1]], end='')
		if i % 5 == 0:
			print(chr(97) * (ch[1] - len(new)), end='')
		if i % 5 == 1:
			print(chr(101) * (ch[1] - len(new)), end='')
		if i % 5 == 2:
			print(chr(105) * (ch[1] - len(new)), end='')
		if i % 5 == 3:
			print(chr(111) * (ch[1] - len(new)), end='')
		if i % 5 == 4:
			print(chr(117) * (ch[1] - len(new)), end='')
else:
	print(-1)


k = int(input())
s = ''
for i in range(5, 10 ** 4 + 1):
	t = k / i
	if t.is_integer() and t >= 5:
		for j in range(i):
			n = int(j % 5)
			ss = ('aeiou'[n:5] + 'aeiou'[:n]) * ((int(t) + 5) // 5)
			s += ss[:int(t)]
		print(s)
		exit()
print(-1)


from math import *
k = int(input())
z = 0
for i in range(5, int(sqrt(k)) + 1):
	if k % i == 0:
		z = i
		break
	else:
		continue
if z == 0 or k // z < 5:
	print('-1')
else:
	x = ['a', 'e', 'i', 'o', 'u']
	for i in range(z):
		for j in range(k // z):
			print(x[(j + i) % 5], end='')


n = int(input())
p = 0
for i in range(5, n + 1):
	if i * (n // i) == n:
		if i >= 5 and n // i >= 5:
			v = i
			u = n // i
			p = 1
			break
if p == 0:
	print(-1)
else:
	c = ''
	for i in range(0, u):
		c += ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio'][i % 5] * (v // 5) + ['a', 'e', 'i', 'o', 'u'][i % 5] * (v % 5)
	print(c)


import math
k = int(input())
s = ''
if k < 25:
	print(-1)
elif k % 5 == 0:
	s = 'aeioueiouaiouaeouaeiuaeio' * 2000
	print(s[:k])
else:
	n = 5
	m = 0
	f = 0
	while n < k / 2:
		if k % n == 0:
			m = k // n
			if m >= 5:
				f = 1
				s = 'aeiou' * 10000
				s = list(s)
				break
			else:
				n += 1
		else:
			n += 1
	if f == 0:
		print('-1')
	else:
		for j in range(m * n):
			print(s[j], end='')


import sys
sys.setrecursionlimit(10 ** 5 + 1)
inf = int(10 ** 20)
max_val = inf
min_val = -inf
RW = lambda : sys.stdin.readline().strip()
RI = lambda : int(RW())
RMI = lambda : [int(x) for x in sys.stdin.readline().strip().split()]
RWI = lambda : [x for x in sys.stdin.readline().strip().split()]
vowels = 'aeiou'
lens = RI()
rows = -1
cols = -1
i = 5
while i * i <= lens:
	if lens % i == 0 and lens // i >= 5:
		rows = i
		cols = lens // i
		break
	i += 1
if rows == -1:
	print('-1')
else:
	ans = ''
	for i in range(rows):
		for j in range(cols):
			ans += vowels[(i + j) % 5]
	print(ans)


k = int(input())
if k < 25:
	print(-1)
else:
	a = 'aeiou'
	max1 = min1 = 0
	for q in range(round(k ** (1 / 2)) + 1, 0, -1):
		if k % q == 0:
			(max1, min1) = (k // q, q)
			break
	if min1 < 5:
		print(-1)
	else:
		ans = [a[q:] + a[:q] for q in range(min1)]
		for q in range(min1):
			ans[q] += a[q % 5] * (max1 - 5)
		print(''.join(ans))


import math
k = int(input())

def factoring(n):
	factor = []
	for i in range(2, int(math.sqrt(n)) + 1):
		while n % i == 0:
			n //= i
			factor.append(i)
	if n != 1:
		factor.append(n)
	return factor

def split_number(factor):
	one = 1
	two = 1
	for f in factor:
		if one < two:
			one *= f
		else:
			two *= f
	return (one, two)
(n, m) = split_number(sorted(factoring(k), reverse=True))
if n < 5 or m < 5:
	print(-1)
else:
	vowels = ['a', 'e', 'i', 'o', 'u']
	for i in range(m):
		amari = i % 5
		v = vowels[amari:] + vowels[:amari]
		print(''.join(v * (n // 5) + v[0:n % 5]), end='')


k = int(input())
out = '-1'
check = []
if k < 25:
	print(out)
else:
	import math
	a = int(math.sqrt(k))
	i = a
	while i >= 5:
		if k % i == 0:
			check.append(i)
			check.append(k // i)
			break
		i = i - 1
	if len(check) == 0:
		print(out)
	else:
		x = min(check)
		y = max(check)
		out = 'aeiou'
		out = out * (x // 5)
		for j in range(0, x % 5):
			out = out + out[j]
		g = ''
		for j in range(0, y):
			out = out + out[0]
			out = out[1:x + 1]
			g = g + out
		print(g)


from math import sqrt
from itertools import count, islice

def isPrime(n):
	return n > 1 and all((n % i for i in islice(count(2), int(sqrt(n) - 1))))
n = int(input())
if isPrime(n):
	print(-1)
else:
	x = n // 5
	if x < 5:
		print(-1)
	else:
		j = 5
		while 1:
			if n % j == 0:
				break
			else:
				j += 1
		a = j
		b = n // j
		if b < 5:
			print(-1)
		else:
			first = 'aeiou'
			second = 'eioua'
			third = 'iouae'
			fourth = 'ouaei'
			fifth = 'uaeio'
			extra = b - 5
			sextra = ''
			res = ''
			for i in range(extra):
				sextra += 'b'
			for i in range(a + 1):
				if i % 6 == 0:
					res += first
					for _ in range(extra):
						res += 'a'
				elif i % 6 == 1:
					res += second
					for _ in range(extra):
						res += 'e'
				elif i % 6 == 2:
					res += third
					for _ in range(extra):
						res += 'i'
				elif i % 6 == 3:
					res += fourth
					for _ in range(extra):
						res += 'o'
				elif i % 6 == 4:
					res += fifth
					for _ in range(extra):
						res += 'u'
			print(res)


from sys import *
from math import *
from collections import *
V = ['a', 'e', 'i', 'o', 'u']
k = int(input())
(div1, div2) = (0, 0)
i = 5
while i * i <= k:
	if k % i == 0 and k // i >= 5:
		(div1, div2) = (i, k // i)
		break
	i += 1
if div1 == 0:
	print(-1)
else:
	s = []
	for i in range(div1):
		for j in range(div2):
			s += V[(i + j) % 5]
	print(''.join(s))


n = int(input())
r = 0
c = 0
for i in range(5, n):
	if n % i == 0 and n // i >= 5:
		r = i
		c = n // i
s = ['a', 'e', 'i', 'o', 'u']
p = 'm'
ans = ''
if r != 0 and c != 0:
	for i in range(r):
		for j in range(c):
			ans += s[(i + j) % 5]
	print(ans)
else:
	print(-1)


(z, zz) = (input, lambda : list(map(int, z().split())))
zzz = lambda : [int(i) for i in stdin.readline().split()]
(szz, graph, mod, szzz) = (lambda : sorted(zz()), {}, 10 ** 9 + 7, lambda : sorted(zzz()))
from string import *
from re import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f
from bisect import bisect as bs
from bisect import bisect_left as bsl
from itertools import accumulate as ac

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2 or x == 0:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
num = int(z())
l = ['a', 'e', 'i', 'o', 'u']

def prim(x):
	p = ceil(x ** 0.5) + 1
	for i in range(5, x + 1):
		if x % i == 0:
			if i >= 5 and x // i >= 5:
				return i
	return 0
t = prim(num)
if t == 0:
	print(-1)
else:
	k = 0
	for i in range(num):
		print(l[(i + k) % 5], end='')
		if (i + 1) % t == 0:
			k += 1


k = int(input())
for i in range(2, k):
	if k % i == 0:
		n = i
		m = k // i
		if n >= 5 and m >= 5:
			a = ['a', 'e', 'i', 'o', 'u']
			s = ''
			for i in range(n):
				for j in range(m):
					s += a[(i + j) % 5]
			print(s)
			quit()
print(-1)


d = []
import math

def Divi(n):
	i = 1
	while i <= math.sqrt(n):
		if n % i == 0:
			if n / i == i:
				d.append([i, i])
			else:
				d.append([i, n // i])
		i = i + 1
a = ['a', 'e', 'i', 'o', 'u']
n = int(input(''))
Divi(n)
ans = 0
r = -1
c = -1
for i in range(len(d)):
	if d[i][0] > 4 and d[i][1] > 4:
		r = d[i][0]
		c = d[i][1]
		ans = 1
		break
if ans == 0:
	print('-1')
else:
	b = []
	for i in range(r):
		b.append(a[i % 5])
	for i in range(c):
		for j in range(r):
			print(b[(j + i) % r], end='')


n = int(input())
a = 'aeiou'
ans = True
for i in range(5, int(n ** (1 / 2)) + 1):
	if n // i > 4 and n % i == 0:
		break
else:
	ans = False
if ans:
	a = a * (i + n // i)
	for j in range(i):
		print(a[j:j + n // i], end='')
else:
	print(-1)


import math

def isprime(n):
	c = 0
	for i in range(2, int(math.sqrt(n)) + 1):
		if n % i == 0:
			if n // i >= 5 and i >= 5:
				return 1
	if c == 0:
		return 0
k = int(input())
if isprime(k) == 0:
	print(-1)
else:
	i = 0
	for i in range(5, int(math.sqrt(k)) + 1):
		if k % i == 0:
			break
	n = i
	m = k // i
	li = []
	s1 = 'aeiou' * m
	s2 = 'uaeio' * m
	s3 = 'ouaei' * m
	s4 = 'iouae' * m
	s5 = 'eioua' * m
	s = s1[:m] + s2[:m] + s3[:m] + s4[:m] + s5[:m]
	s = s * k
	print(s[:k])


from math import ceil

def get_size(k):
	for a in range(5, k + 1):
		if not k % a and k // a >= 5:
			return (True, a, k // a)
	return (False, -1, -1)

def solve(k):
	if k < 25:
		return -1
	(success, a, b) = get_size(k)
	if not success:
		return -1
	vowels = 'aeiou'
	answer = ''
	for _ in range(a):
		answer += (vowels * ceil(b / 5))[:b]
		vowels = vowels[-1] + vowels[:-1]
	return answer
print(solve(int(input())))


n = int(input())
poss = 0
i = 2
ans = 0
while i * i <= n:
	if n % i == 0 and i >= 5 and (n // i >= 5):
		poss = 1
		ans = (i, n // i)
		break
	i += 1
if poss == 0:
	print(-1)
	quit()
z = ans[0]
s = 'aeiou'
s = s + 'z' * (z - 5)
for i in range(n // z):
	curr = i % z
	print(s[curr:], end='')
	for j in range(curr):
		print(s[j], end='')


v = ['a', 'e', 'i', 'o', 'u']
k = int(input())
a = []
for i in range(5, k // 2):
	if k % i == 0:
		a.append(i)
if len(a) != 0:
	x = a[0]
	y = k // x
	if y >= 5:
		for i in range(x):
			for j in range(y):
				print(v[(i + j) % 5], end='')
	else:
		print(-1)
else:
	print(-1)


n = int(input())
pr = []
for i in range(1, n + 1):
	if n % i == 0:
		if (i > 4) & (n // i > 4):
			pr.append(i)
			pr.append(n // i)
			break
if len(pr) == 0:
	print(-1)
else:
	s = ''
	ch = ['a', 'e', 'i', 'o', 'u']
	rez = [['a' for i in range(pr[1])] for j in range(pr[0])]
	for i in range(pr[0]):
		for j in range(pr[1]):
			rez[i][j] = ch[(j - i) % 5]
	for i in rez:
		s += ''.join(i)
	print(s)


n = int(input())
s = ['aeiou', 'eauio', 'ioaue', 'oueai', 'uioea']
ans = ''
if n < 5:
	print(-1)
for i in range(5, n + 1):
	if n % i == 0:
		if n // i < 5:
			print(-1)
			break
		else:
			for w in range(n // i):
				d = w
				while len(ans) < i * (w + 1):
					if len(ans) <= i * (w + 1) - 5:
						ans = ans + s[d % 5]
						d = d + 1
					elif len(ans) < i * (w + 1):
						ans = ans + s[d % 5][i * (w + 1) - len(ans)]
					else:
						ans = ans
			print(ans)
			break


def main():
	vowels = 'aeiou'
	k = int(input())
	found = False
	i = 5
	while i * i <= k:
		if k % i == 0 and k / i >= 5:
			found = True
			break
		i += 1
	if not found:
		print(-1)
		return
	for h_index in range(i):
		for v_index in range(k // i):
			print(vowels[(h_index + v_index) % 5], end='')
main()


k = int(input())
(a, b) = (-1, -1)
VOWELS = 'aeiou'
for i in range(len(VOWELS), k):
	if k % i == 0 and k // i >= len(VOWELS):
		(a, b) = (i, k // i)
if a != -1:
	A = [[0 for i in range(b)] for j in range(a)]
	for i in range(a):
		for j in range(b):
			A[i][j] = VOWELS[(i + j) % len(VOWELS)]
	result = ''
	for i in range(a):
		result += ''.join(A[i])
	print(result)
else:
	print(-1)


def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
n = int(input())
l = [['a', 'e', 'i', 'o', 'u'], ['e', 'a', 'o', 'u', 'i'], ['u', 'o', 'a', 'i', 'e'], ['o', 'i', 'u', 'e', 'a'], ['i', 'u', 'e', 'a', 'o']]
if n < 25:
	print(-1)
elif isPrime(n):
	print(-1)
else:
	fl = 0
	for i in range(5, n):
		if n % i == 0:
			if n // i >= 5:
				m = n // i
				q = i
				fl = 1
				break
	if fl == 0:
		print(-1)
	else:
		i = 0
		j = 0
		k = 0
		a = 0
		s = ''
		for i in range(0, q):
			if k == 5:
				k = 0
			s = s + ''.join(l[k]) + l[0][k] * (m - 5)
			k += 1
		print(s)


N = int(input())

def make_vowels(N):
	ans = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	vowels = 'aeiou'
	m = 5
	while m < N:
		if N % m == 0 and N // m >= 5:
			break
		m += 1
	else:
		return print(-1)
	n = N // m
	for i in range(n):
		if i <= 4:
			ans[i] = ans[i] + vowels[i] * (m - 5)
		else:
			ans.append('aeiou' + 'b' * (m - 5))
	ans = ''.join(ans)
	return print(ans)
make_vowels(N)


k = int(input())
if k < 25:
	print(-1)
else:
	n = 5
	m = k // n
	while n * m != k and n <= m:
		n += 1
		m = k // n
	if n * m != k:
		print(-1)
	else:
		gen = f"aeiou{'a' * (n - 5)}"
		result = ''
		for i in range(m):
			result += gen[i % n:] + gen[:i % n]
		print(result)


def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
s1 = 'aeiou'
s2 = 'uaoie'
s3 = 'eiauo'
s4 = 'iouea'
s5 = 'oueai'
n = int(input())
if n < 25:
	print(-1)
else:
	flag = 0
	for i in range(5, n + 1):
		if n % i == 0:
			if n // i >= 5:
				flag = 1
				break
	if flag == 0:
		print(-1)
		exit()
	r = i
	c = n // i
	g = r - 5
	h = c - 5
	st = ''
	sr = 'aeiou'
	d = [s1, s2, s3, s4, s5]
	for i in range(5):
		st += d[i] + sr[i] * h
	for i in range(g):
		st += s1 + 'a' * h
	print(st)


def rot(n):
	for i in range(5, int(n ** 0.5) + 1):
		if n % i == 0 and n // i >= 5:
			return i
	else:
		return 0
n = int(input())
v = rot(n)
if v < 5:
	print(-1)
else:
	vol = 'aeiou'
	for i in range(v):
		if i < 5:
			last = vol[i]
		else:
			last = 'b'
		print(vol + last * (n // v - 5), end='')
		vol = vol[1:] + vol[0]


def yueshu(n):
	if n < 25:
		return 0
	else:
		ub = int(n ** 0.5) + 1
		for i in range(5, ub):
			if n % i == 0:
				return i
		return 0
n = int(input())
z = 'aeiou'
y = yueshu(n)
if y == 0:
	print(-1)
else:
	s = ''
	x = n // y
	for t in range(x):
		i = t % 5
		for j in range(5 - i):
			s = s + z[i + j]
		for j in range(i):
			s = s + z[j]
		for j in range(y - 5):
			s = s + z[i]
	print(s)


import math
s = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
ans = ''
flag = 0
k = int(input())
for i in range(5, int(math.sqrt(k)) + 1, 1):
	if k % i == 0:
		n = k // i
		m = k // n
		flag = 1
		break
if flag == 0:
	print(-1)
else:
	for i in range(5):
		for j in range(m):
			ans += s[j % 5][i]
	for i in range(n - 5):
		ans += s[0] + 'x' * (m - 5)
print(ans)


def solve(K):
	if K < 25:
		print(-1)
		return
	N = int(K ** 0.5)
	while K % N or K // N < 5:
		N -= 1
	if N < 5:
		print(-1)
		return
	M = K // N
	vow = 'aeiou'
	for i in range(5):
		print(vow[i:] + vow[:i], end='')
		print(vow[i] * (M - 5), end='')
	for i in range(N - 5):
		print('aeiou', end='')
		print('u' * (M - 5), end='')
	print()
solve(int(input()))


import math

def check_prime(n):
	for i in range(2, int(math.sqrt(n)) + 1):
		if n % i == 0:
			return False
	return True

def gen_str(n, m):
	v = ['a', 'e', 'i', 'o', 'u']
	str = ''
	for i in range(n):
		for j in range(m):
			str += v[(i + j) % 5]
	return str

def main():
	n = int(input())
	if check_prime(n):
		print(-1)
	else:
		found = False
		for i in range(5, int(math.sqrt(n)) + 1):
			if n % i == 0:
				if n / i >= 5:
					found = True
					break
		if not found:
			print(-1)
		else:
			print(gen_str(int(n / i), i))
main()


n = int(input())
i = n
p = 'aeiou'
d = ''
while i >= 5:
	if n % i == 0 and n // i >= 5:
		break
	i -= 1
if i < 5:
	exit(print(-1))
else:
	matrix = []
	t = n // i
	q = t % 5
	s = p * (t // 5) + p[:t % 5]
	for j in range(i):
		y = s[j:n] + s[:j]
		d = d + y
	print(d)


k = int(input())
l = []
for i in range(5, k // 2 + 1):
	if k // i < i:
		break
	if k % i == 0:
		l.append([i, k // i])
aa = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
if l == []:
	print(-1)
else:
	a = l[0]
	b = ['a'] * a[1]
	gr = [b for i in range(a[0])]
	for i in range(5):
		gr[i] = aa[i] + gr[i][5:]
	for i in range(5, a[0]):
		gr[i][:5] = aa[0]
	for i in range(5, a[1]):
		for j in range(5):
			gr[j][i] = aa[0][j]
	t = [''.join(i) for i in gr]
	e = ''.join(t)
	print(e)


import math
N = int(input())
n = None
m = None
for i in range(5, N):
	if N // i == N / i:
		n = i
		m = N // i
		if n >= 5 and m >= 5:
			break
vow = ['a', 'e', 'o', 'i', 'u']
if n == None or m == None:
	print(-1)
else:
	n = max(N // n, n)
	m = N // n
	if n < 5 or m < 5:
		print(-1)
	else:
		s = []
		ind = 0
		for i in range(n):
			y = []
			l = ind
			for j in range(m):
				y.append(vow[l])
				l = (l + 1) % 5
			ind = (ind + 1) % 5
			s.append(''.join(y))
		print(''.join(s))


x = int(input())
V = ['a', 'i', 'u', 'e', 'o']
ANS = [V[i:] + V[:i] for i in range(5)]
import math
xr = math.ceil(math.sqrt(x))
LIST = []
for i in range(1, xr + 1):
	if x % i == 0:
		LIST.append(i)
		LIST.append(x // i)
for l in LIST:
	if l >= 5 and x // l >= 5:
		n = l
		m = x // l
		break
else:
	print(-1)
	import sys
	sys.exit()
VV = (V * 10 ** 4)[:n]
ANS = [VV[i % n:] + VV[:i % n] for i in range(m)]
for ans in ANS:
	print(''.join(ans), end='')


import sys, collections
n = int(sys.stdin.readline())
temp = set()
for i in range(1, n + 1):
	if n % i == 0:
		temp.add(i)
		temp.add(n // i)
row = -1
col = -1
for i in temp:
	if i >= 5 and n // i >= 5:
		row = i
		col = n // row
		break
if row == -1 and col == -1:
	print(-1)
else:
	ans = [[''] * 2000 for _ in range(2000)]
	res = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
	for i in range(0, 2000, 5):
		for j in range(0, 2000, 5):
			for a in range(i, i + 5):
				for b in range(j, j + 5):
					ans[a][b] = res[a % 5][b % 5]
	for i in range(row):
		for j in range(col):
			print(ans[i][j], end='')


import math

def check(s):
	if s < 25:
		return -1
	n = math.floor(math.sqrt(s))
	k = -1
	for i in range(n, 4, -1):
		if s / i == s // i:
			k = i
			m = s // i
	if k == -1:
		return -1
	ar = ['aoeui', 'oeuia', 'euiao', 'uiaoe', 'iaoeu']
	br = ['a', 'o', 'u', 'e', 'i']
	s = ''
	for i in range(m):
		if i < 5:
			s += ar[i]
		else:
			s += 'aoeui'
		for j in range(5, k):
			if i < 5:
				s += br[i]
			else:
				s += 'a'
	return s
n = int(input())
print(check(n))


n = int(input())
if n < 25:
	print(-1)
else:
	m = 5
	k = n // m
	while n % m != 0:
		m += 1
		if m > n:
			break
	if n // m < 5 or n % m != 0:
		print(-1)
	else:
		k = n // m
		mat = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
		for i in range(0, k):
			for j in range(0, m):
				print(mat[i % 5][j % 5], end='')
		print('')


import os
import sys
import math

def log(*args, **kwargs):
	if os.environ.get('CODEFR'):
		print(*args, **kwargs)

def is_prime(a):
	return all((a % i for i in xrange(2, a)))
n = int(input())

def divisors(n):
	for i in range(1, n // 2 + 1):
		if n % i == 0:
			yield i
	yield n
sol = -1
for i in divisors(n):
	if i == n or i < 5 or n / i < 5:
		continue
	sol = i
	break
if sol == -1:
	print(-1)
	sys.exit(0)
g = ['a', 'e', 'i', 'o', 'u']
for i in range(sol):
	for j in range(int(n / sol)):
		print(g[(i + j) % 5], end='')
print()


from itertools import *
k = int(input())
(m, n) = (None, None)
for i in range(5, k // 5 + 1):
	if k % i == 0 and k // i >= 5:
		(m, n) = (i, k // i)
if not m:
	print(-1)
else:
	s = 'aeiou'
	base = ''.join(list(chain(*repeat(s, m // 5 + 1))))[:m]
	res = base
	for i in range(1, n):
		base = base[4] + base[:-1]
		res += base
	print(res)


N = int(input())
L = []
x = 0
for i in range(1, N // 2 + 1):
	if N % i == 0:
		x += 2
		L.append(i)
		L.append(N // i)
FLAG = 0
for i in range(0, x, 2):
	if L[i] >= 5 and L[i + 1] >= 5:
		m = L[i]
		n = L[i + 1]
		FLAG = 1
		break
if FLAG == 0:
	print('-1')
else:
	X = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		for j in range(m):
			print(X[j % 5], end='')
		x = X[0]
		for i in range(4):
			X[i] = X[i + 1]
		X[4] = x


from math import sqrt
vrai = False
k = int(input())
voyelles = 'aeiou' * k
if k < 25:
	print(-1)
	vrai = True
else:
	for i in range(5, int(sqrt(k)) + 1):
		if k % i == 0:
			vrai = True
			(n, m) = (i, k // i)
			for j in range(m):
				print(voyelles[j:j + n], end='')
			print()
			break
if not vrai:
	print(-1)


def factors(n):
	for i in range(5, int(n ** 0.5) + 1):
		if n % i == 0 and n // i >= 5:
			return (i, n // i)
	return (-1, -1)

def prepareAns(a, b):
	if a > b:
		(a, b) = (b, a)
	vowels = ['a', 'e', 'i', 'o', 'u']
	ans = []
	for x in range(a):
		res = []
		i = x
		while len(res) != b:
			res.append(vowels[i % 5])
			i = i + 1
		ans.extend(res)
	return ''.join(ans)
n = int(input())
(a, b) = factors(n)
if a == -1:
	print(-1)
else:
	print(prepareAns(a, b))


import math
import re
import sys
from collections import defaultdict
from heapq import heappush, heappop
from fractions import gcd

def read(type=int):
	return type(input())

def read_list(type=int, split=' ', F=None):
	if F:
		return map(lambda x: F(type(x)), raw_input().split(split))
	return map(type, input().split(split))

def read_list_of_list(N, type=int, split=' ', F=None):
	return [read_list(type, F=F) for _ in range(N)]
n = read()
i = 5
while i * i <= n and n % i:
	i += 1
if n % i or n // i < 5:
	print(-1)
	exit()
R = ''
for j in range(n // i):
	R += ('aeiou' * (j + i))[j:j + i]
print(R)


K = int(input())
ok = False
for n in range(5, K):
	if K % n == 0 and K // n >= 5:
		ok = True
		m = K // n
		break
if not ok:
	print(-1)
else:
	alp = ['aiueo', 'oaiue', 'eoaiu', 'ueoai', 'iueoa']
	for i in range(5):
		alp[i] = alp[i] * (n // 5) + alp[i][:n % 5]
	ans = ''
	for j in range(m):
		ans += alp[j % 5]
	print(ans)


k = int(input())
i = 5
while i ** 2 <= k:
	if k % i == 0 and k // i >= 5:
		break
	i += 1
else:
	print(-1)
	exit()
x = 'aoiue'
a = [['' for j in range(i)] for l in range(k // i)]
for y in range(i):
	for z in range(k // i):
		print(x[(y % 5 + z % 5) % 5], end='')


def factor(x):
	n = 5
	while 5 * n <= x:
		m = x // n
		if n * m == x:
			return (n, m)
		n += 1
	return (None, None)

def vowel(x):
	return ('a', 'e', 'i', 'o', 'u')[x % 5]
inp = int(input())
(n, m) = factor(inp)
if n is None:
	print(-1)
else:
	s = ''
	for i in range(n):
		s += ''.join([vowel(i + j) for j in range(m)])
	print(s)


from math import ceil, sqrt
k = int(input())
v = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
if k < 25:
	print(-1)
else:
	n = 0
	m = 0
	s = []
	for i in range(ceil(sqrt(k)), 4, -1):
		if k % i == 0:
			n = i
			m = k // i
			break
	if n != 0 and m != 0:
		for i in range(n):
			s.append(v[i % 5] * (m // 5) + v[i % 5][:m % 5])
		print(''.join(s))
	else:
		print(-1)


k = int(input())
flag = 0
check = 0
for i in range(5, k // 5 + 1):
	if k % i == 0:
		check = i
		flag = 1
		break
if flag == 0:
	print(-1)
else:
	str = 'aeiou'
	for j in range(0, k // check):
		l = j % len(str)
		for i in range(check):
			print(str[l], end='')
			l = (l + 1) % len(str)


n = int(input())
if n < 25:
	print(-1)
else:
	flag = True
	a = []
	b = []
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			if i >= 5 and n // i >= 5:
				a.append(i)
				b.append(n // i)
				flag = False
	if flag == True:
		print(-1)
	else:
		beg = 0
		string = ''
		list = ['a', 'e', 'i', 'o', 'u']
		if len(a) <= 0:
			print(-1)
		else:
			for j in range(0, a[-1]):
				for k in range(0, b[-1]):
					string = string + list[(j + k) % 5]
			print(string)


from math import sqrt
n = int(input())
if n < 25:
	print(-1)
else:
	(x, y) = (0, 0)
	for i in range(5, int(sqrt(n)) + 1):
		if n % i == 0:
			(x, y) = (i, n // i)
			break
	if x == 0 or y < 5:
		print(-1)
	else:
		s = 'aeiou'
		for i in range(x):
			print(s * (y // 5) + s[:y % 5], end='')
			s = s[1:] + s[0]


import math
n = int(input())
k = 0
for i in range(5, int(math.sqrt(n) + 1)):
	k1 = n // i
	if k1 >= 5 and n % i == 0:
		p1 = i
		p2 = n // i
		k = 1
		break
if k == 0:
	print('-1')
else:
	a = [['a', 'e', 'i', 'o', 'u'], ['e', 'i', 'o', 'u', 'a'], ['i', 'o', 'u', 'a', 'e'], ['o', 'u', 'a', 'e', 'i'], ['u', 'a', 'e', 'i', 'o']]
	for i in range(p1):
		if i % 5 == 0:
			for j in range(p2):
				print(a[0][j % 5], end='')
		if i % 5 == 1:
			for j in range(p2):
				print(a[1][j % 5], end='')
		if i % 5 == 2:
			for j in range(p2):
				print(a[2][j % 5], end='')
		if i % 5 == 3:
			for j in range(p2):
				print(a[3][j % 5], end='')
		if i % 5 == 4:
			for j in range(p2):
				print(a[4][j % 5], end='')


import sys
DEBUG = False
if DEBUG:
	inf = open('input.txt')
else:
	inf = sys.stdin
N = int(inf.readline())
VOWEL = 'aeiou'
vowels = []
for i in range(5):
	vw = VOWEL[i:] + VOWEL[:i]
	vowels.append(vw)
for n in range(5, int(N ** 0.5) + 1):
	if N % n == 0:
		m = N // n
		break
else:
	print(-1)
	exit()
for (i, vw) in enumerate(vowels):
	vowels[i] += VOWEL[i] * (m - 5)
for i in range(n - 5):
	vowels.append(VOWEL + 'g' * (m - 5))
print(''.join(vowels))


import io, sys, atexit, os
import math as ma
from sys import exit
from decimal import Decimal as dec
from itertools import permutations
from itertools import combinations

def li():
	return list(map(int, input().split()))

def num():
	return map(int, input().split())

def nu():
	return int(input())

def find_gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x

def lcm(x, y):
	gg = find_gcd(x, y)
	return x * y // gg
mm = 1000000007
yp = 0

def printDivisors(n):
	i = 1
	while i <= ma.sqrt(n):
		if n % i == 0:
			if n // i == i:
				check(i, i)
			else:
				check(i, n // i)
		i = i + 1
	print(-1)

def check(a, b):
	x = [0] * a
	for i in range(a):
		rr = [0] * b
		x[i] = rr
	if a >= 5 and b >= 5:
		vv = ['a', 'e', 'i', 'o', 'u']
		cc = 0
		for i in range(a):
			if i == 0:
				for j in range(b):
					x[i][j] = cc
					cc += 1
					if cc >= 5:
						cc = 0
			else:
				for j in range(b):
					pq = x[i - 1][j]
					pq += 1
					if pq >= 5:
						pq = 0
					x[i][j] = pq
		for i in range(a):
			for j in range(b):
				print(vv[x[i][j]], end='')
		print()
		exit(0)

def solve():
	t = 1
	for _ in range(t):
		n = nu()
		printDivisors(n)
solve()


import math

def canbeused(n):
	for i in range(5, int(math.sqrt(n)) + 1):
		if n % i == 0 and n // i >= 5:
			return i
	return -1
n = int(input())
x = canbeused(n)
if x == -1:
	print(-1)
else:
	vowels = 'aeiou'
	word = vowels * (x // 5 + 1)
	word = word[:x]
	fin = [word]
	for i in range(n // x - 1):
		fin.append(fin[-1][-1] + fin[-1][:-1])
	print(''.join(fin))


def cal(n, m):
	arr = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
	h = ['a', 'e', 'i', 'o', 'u']
	for i in range(n):
		yy = i % 5
		print(arr[yy] + (m - 5) * h[yy], end='')
k = int(input())
if k < 25:
	print(-1)
	exit()
for i in range(5, k // 2 + 1):
	if k % i == 0:
		if k // i >= 5:
			cal(i, k // i)
			exit()
print(-1)


from math import *
n = int(input())
x = 0
y = 0
for i in range(int(sqrt(n)) + 1, 0, -1):
	if n % i == 0:
		x = i
		y = n // i
		break
if x >= 5 and y >= 5:
	l = [['a' for i in range(y)] for i in range(x)]
	for i in range(x):
		for j in range(y):
			if (j - i + 5) % 5 == 0:
				continue
			elif (j - i + 5) % 5 == 1:
				l[i][j] = 'e'
			elif (j - i + 5) % 5 == 2:
				l[i][j] = 'i'
			elif (j - i + 5) % 5 == 3:
				l[i][j] = 'o'
			else:
				l[i][j] = 'u'
	ans = ''
	for i in range(x):
		ans += ''.join(l[i])
	print(ans)
else:
	print(-1)


x = int(input())
if x < 25:
	print(-1)
else:
	i = 5
	while True:
		if x % i == 0:
			break
		else:
			i = i + 1
	j = x // i
	if j < 5:
		print(-1)
	else:
		t = ['aeiou' * (i // 5) + 'aeiou'[:i % 5], 'eioua' * (i // 5) + 'eioua'[:i % 5], 'iouae' * (i // 5) + 'iouae'[:i % 5], 'ouaei' * (i // 5) + 'ouaei'[:i % 5], 'uaeio' * (i // 5) + 'uaeio'[:i % 5]]
		r = ''
		for k in range(1, j + 1):
			if k % 5 == 1:
				print(t[0], end='')
			elif k % 5 == 2:
				print(t[1], end='')
			elif k % 5 == 3:
				print(t[2], end='')
			elif k % 5 == 4:
				print(t[3], end='')
			elif k % 5 == 0:
				print(t[4], end='')


ii = lambda : int(input())
mi = lambda : map(int, input().split())
li = lambda : list(mi())
si = lambda : input()
msi = lambda : map(int, stdin.readline().split())
lsi = lambda : list(msi())
n = ii()
if n < 25:
	print(-1)
	exit(0)
else:
	for i in range(5, n // 2 + 1):
		if n % i == 0:
			n1 = n / i
			n2 = i
			break
	else:
		print(-1)
		exit(0)
if n % 25 == 0:
	s = 'aeioueiouaiouaeouaeiuaeio' * (n // 25)
	print(s)
	exit(0)
if n1 < 5:
	print(-1)
	exit(0)
else:
	s = 'aeiou' * (n // 5)
	i = n - len(s)
	if i == 1:
		s += 'a'
	elif i == 2:
		s += 'ae'
	elif i == 3:
		s += 'aei'
	elif i == 4:
		s += 'aeio'
print(s)


import math

def main():
	num = int(input())
	n = m = 0
	ro = int(math.sqrt(num))
	if ro < 5:
		print(-1)
		return
	for i in range(5, ro + 1):
		if num % i == 0:
			n = i
			m = num // i
	if n == 0:
		print(-1)
		return
	if m > n:
		(n, m) = (m, n)
	v = ['a', 'e', 'i', 'o', 'u']
	s = []
	start = 0
	for r in range(n):
		current = start
		for c in range(m):
			s.append(v[current])
			current = (current + 1) % 5
		start = (start + 1) % 5
	if ro > 4:
		print(''.join(s))
main()


k = int(input())
flag = False
for i in range(5, k // 5 + 1):
	if k / i == k // i:
		flag = True
		break
if flag == False:
	print(-1)
else:
	print('aeiou', end='')
	for j in range(i - 5):
		print('a', end='')
	print('uaeio', end='')
	for j in range(i - 5):
		print('e', end='')
	print('ouaei', end='')
	for j in range(i - 5):
		print('i', end='')
	print('iouae', end='')
	for j in range(i - 5):
		print('o', end='')
	print('eioua', end='')
	for j in range(i - 5):
		print('u', end='')
	for j in range(k // i - 5):
		print('aeiou', end='')
		for j in range(i - 5):
			print('d', end='')


def Fact(n):
	for i in range(n // 2 + 1, 4, -1):
		if n % i == 0 and n // i >= 5:
			return i
	return -1
p = int(input())
l = 'aeiou'
if p == 1:
	print(-1)
else:
	n = Fact(p)
	if n == -1:
		print(-1)
	else:
		m = p // n
		for i in range(n):
			for j in range(m):
				print(l[(j + i) % 5], end='')


import os
import sys
import math
from io import BytesIO, IOBase
from fractions import Fraction
from collections import defaultdict
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
n = int(input())
s = 'aeiou' * 4004
for i in range(5, 101):
	if n % i == 0:
		length = i
		width = n // i
		if width < 5:
			continue
		for _ in range(width):
			print(s[:length], end='')
			s = s[1:]
		print()
		break
else:
	print(-1)


K = int(input())
Row = ['aeiou', 'eioua', 'iouae', 'ouaei', 'uaeio']
Col = ['a', 'e', 'i', 'o', 'u']
if K < 25:
	print(-1)
	exit()
RowCount = 5
ColumnCount = 0
while True:
	if K % RowCount == 0:
		if K // RowCount >= 5:
			ColumnCount = K // RowCount
			break
		else:
			print(-1)
			exit()
	RowCount += 1
Result = ''
for i in range(RowCount):
	Result = Result + Row[i % 5] + Col[i % 5] * (ColumnCount - 5)
print(Result)


n = int(input())
d = 5
mn = []
while n >= d * d:
	if n % d == 0:
		if n // d >= 5:
			mn.append(d)
			mn.append(n // d)
		break
	d += 1
if len(mn) < 2:
	print('-1')
else:
	res = []
	vow = 'aeoiu'
	for i in range(mn[0]):
		for j in range(mn[1]):
			res.extend([vow[(i + j) % 5]])
	print(''.join(res))


import math
vowel = ['a', 'e', 'i', 'o', 'u']
K = int(input())
N = 0
M = 0
for i in range(0, int(math.sqrt(K))):
	if K % (int(math.sqrt(K)) - i) == 0:
		N = int(math.sqrt(K)) - i
		M = K // N
		break
if N < 5 or M < 5:
	print(-1)
else:
	S = ''
	for i in range(0, N):
		for j in range(0, M):
			S = S + vowel[(i + j) % 5]
	print(S)


v = ['a', 'e', 'i', 'o', 'u']
t = int(input())
ans = ''
(m, n) = (0, 0)
if t < 25:
	print('-1')
else:
	for i in range(5, t // 5 + 1):
		if t // i == t / i:
			(m, n) = (i, t // i)
			break
	if m == 0:
		print('-1')
	else:
		for i in range(m):
			si = i
			for j in range(n):
				si %= 5
				ans += v[si]
				si += 1
	print(ans)


n = int(input())
import math
b = -1
p = -1
uyi = 1
for j in range(1, int(math.sqrt(n)) + 1):
	if n % j == 0:
		if j >= 5 and n // j >= 5:
			p = j
			b = n // j
			tyuityui = 1
			break
if p == -1 and b == -1:
	print('-1')
else:
	s = ['a', 'e', 'i', 'o', 'u']
	ans = []
	for i in range(p):
		for j in range(b):
			ans.append(s[(i + j) % 5])
	ghjkcvbn = 1
	ghjcvbn = 9
	fghcv = 7
	print(''.join(ans))


k = int(input())
(n, m) = (-1, -1)
for i in range(5, k):
	if k % i == 0 and k // i >= 5:
		(n, m) = (i, k // i)
		break
	if k // i < 5:
		break
if n == -1:
	print(-1)
	quit()
s = 'aeiou' * 10 ** 4
ans = ''
for i in range(n):
	ans += s[i:i + m]
print(ans)


def main():
	ri = lambda : int(input())
	rci = lambda : list(map(int, input().split()))
	pc = lambda c: print(''.join(map(str, c)))
	pcr = lambda c: print(' '.join(map(str, c)))
	from math import sqrt
	k = ri()
	if k < 25:
		print(-1)
		return 0
	n = 0
	m = 0
	for i in range(5, int(sqrt(k)) + 1):
		if k % i == 0:
			m = i
			n = k // i
	if m == 0:
		print(-1)
		return 0
	s0 = ('aeiou' * (m // 5 + 1))[:m]
	l = len(s0)
	s = ''
	for i in range(k):
		s += s0[(i + i // l) % l]
	print(s)
	return 0
main()


N = int(input())
vol = 'aeiuo'

def daryk(a, b):
	ats = [[]] * a
	for i in range(5):
		ats[i] = vol[i:] + vol[0:i]
	for i in range(0, 5):
		for _ in range(5, b):
			ats[i] += vol[i]
	for i in range(5, a):
		ats[i] = vol + 'a' * (b - 5)
	for row in ats:
		print(row, end='')
for i in range(5, N):
	if N // i < 5:
		break
	if N % i != 0:
		continue
	daryk(i, N // i)
	exit()
print(-1)


n = int(input())
flag = 0
for i in range(1, n, 1):
	if n % i == 0 and int(n / i) >= 5 and (int(i) >= 5):
		a = i
		b = n / i
		flag = 1
		break
if flag == 1:
	h = ['a', 'e', 'i', 'o', 'u']
	u = a
	while u > 5:
		h.append('g')
		u -= 1
	ans = []
	for i in range(int(b)):
		temp = h[0]
		h = h[1:]
		h.append(temp)
		ans += h
	new = ''.join(ans)
	print(new)
else:
	print('-1')


import math
inp = lambda cast=int: list(map(cast, input().split()))
printf = lambda s='', *args, **kwargs: print(str(s).format(*args), flush=True, **kwargs)
(n,) = inp()
for i in range(1, n):
	if n % i == 0:
		(a, b) = (i, n // i)
		if a < 5 or b < 5:
			continue
		s = ''
		vows = 'aeiou'
		for i in range(a):
			for j in range(b):
				s += vows[(i + j) % 5]
		print(s)
		break
else:
	print(-1)