Assignment9 by ql516