The solution is here.