#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

bool compare0(char a, char b){
	//default sorting (currently what World of Tanks uses, apparently)
	return a<b;
}

bool compare1(char a, char b){
	//case-insensitive sorting alphabetically, but doesn't consider numeric digits or other characters
	return a%32<b%32;
}

bool compare2(char a, char b){
	//case-insensitive sorting alphabetically, and does consider numeric digits and other characters
	return (a>64?a%32+64:a)<(b>64?b%32+64:b);
}

int main(){
	string names="QW6ERTYUI7OPASqwertyu3iopDFzxcvbnm124GHJKasdfghjk5l9LZX8CVBN0M";
	string 
		names0 = names,
		names1 = names,
		names2 = names;
	sort(names0.begin(),names0.end(),compare0);
	sort(names1.begin(),names1.end(),compare1);
	sort(names2.begin(),names2.end(),compare2);
	cout << "First comparator: \t" << names0 << endl;
	cout << "Second comparator: \t" << names1 << endl;
	cout << "Third comparator: \t" << names2 << endl;
	return 0;
}