1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <set>

int main()
{
	std::string bity;
	int bitow;
	int zer = 0;
	int jedynek = 0;
	int zer_tu;
	char litery[] = "--omia--";
	//char litery[] = "0123456789";

	std::cin >> bitow >> bity;

	for (int i = 0; i < 8*bitow; ++i) {
		if (bity[i] == '0') {
			++zer;
		} else {
			++jedynek;
		}
	}

	if ((2*jedynek > 6*zer) || (5*jedynek < 3*zer)) {
		std::cout << "NIE" << std::endl;
//		std::cerr << zer << ' ' << jedynek << std::endl;
		return 0;
	}

	while (zer) {
		zer_tu = 8 * zer/(zer + jedynek);
//		std::cerr << zer << ' ' << jedynek << ' ' << zer_tu << std::endl;
		std::cout << litery[zer_tu];
		zer -= zer_tu;
		jedynek -= (8 - zer_tu);
	}

	std::cout << std::endl;

	return 0;
}