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