solution of #01-#67