solved 1~3