#include <values>
#include <iostream>
#include <fstream>
#include <vector>
#include <stdlib>
using namespace std;

int main() {
	vector<int> freq(256);
	ifstream fin("webster.txt");
	while (fin) {
		unsigned char c;
		fin>>c;
		++freq[c];
	}
	for (vector<int>::iterator i(freq.begin()+1); i<freq.end(); ++i)
		*i+=*(i-1);
	randomize();
	int max(freq.back());
	ofstream fout("puzzle.txt");
	for (int r(0); r<32; ++r) {
		for (int c(0); c<32; ++c) {
			int i(upper_bound(freq.begin(), freq.end(), random(max))-freq.begin());
			fout<<static_cast<unsigned char>(i);
		}
		fout<<endl;
	}
	return 0;
}

