data strucutes, my topcoder sollutions and random stuff