September challenge test generator please :)

the isTripletsValid is little bit different at least.

bool isTripletsValid(vector<vector<uint64_t> > tr, int N)
{
	for (size_t i = 0; i < tr.size(); ++i)
	{
		sort(tr[i].begin(), tr[i].end());
		if (tr[i][0] == tr[i][1])
			return false;
		if (tr[i][0] == tr[i][2])
			return false;
		if (tr[i][1] == tr[i][2])
			return false;
	}
	tr.erase(unique(tr.begin(), tr.end()), tr.end());
	if (tr.size() != N)
		return false;
	return true;
}