проверил один trick. как можно создать состояние для функции не прибегая к статичеким или глобальным переменным
задачка на рандомы не такой простой оказалась, когда начинаешь выравнивать распределение