GCJ 2012 Initial Commit