?????????????????????????????????????? ??????????????????????????????????????????????????????????????? ??????????????? ???????????????????? ????? solution ??????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????? ???????????????????????????????????????????????