??????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????? ?????????? ?????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????? ??????? ?????????? ???????? {?????????????????????????????