Hanoi hosts 2007 International Mathematical Olympiad