UVa Online Judge solutions