ИспользованиС случайного ΠΎΡ€Π°ΠΊΡƒΠ»Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΈ

Как-Ρ‚ΠΎ ΡƒΡ‚Ρ€ΠΎΠΌ Π½Π° Π³Π»Π°Π·Π° попалась ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ провСряСмом Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ случайных чисСл Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ Waves platform.

ΠžΠ±Ρ‰Π°Ρ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π±Ρ‹Π»Π° понятна, Π° Π²ΠΎΡ‚ способ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” Π½Π΅Ρ‚. КакиС-Ρ‚ΠΎ ΠΊΠΎΠ΄Ρ‹, подписи, Ρ‡Ρ‚ΠΎ, ΠΊΡƒΠ΄Π°, Π·Π°Ρ‡Π΅ΠΌ?

НСсколько ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΉ Ρƒ Π°Π²Ρ‚ΠΎΡ€Π° ΠΎΡ€Π°ΠΊΡƒΠ»Π°, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹ΡˆΠ° (Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° PHP) с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ получСния случайного числа.

  1. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ старта Ρ‚ΡƒΡ€Π½ΠΈΡ€Π°/Ρ€Π°ΡƒΠ½Π΄Π° ΠΌΡ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Ρƒ ΠΎΡ€Π°ΠΊΡƒΠ»Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° (R-code).

    Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½ΠΈ ΠΎ количСствС ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ², Π½ΠΈ ΠΎ количСствС ΠΏΡ€ΠΈΠ·ΠΎΠ²Ρ‹Ρ… мСст, Π½ΠΈ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ·ΠΎΠ²Ρ‹Ρ… Π²Ρ‹ΠΏΠ»Π°Ρ‚ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎ сущСствовании Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΈ. ΠžΡ€Π°ΠΊΡƒΠ» посрСдством Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ случайный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² дальнСйшСм ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ запросил. ΠšΡΡ‚Π°Ρ‚ΠΈ, R-code ΠΌΠΎΠΆΠ½ΠΎ Β«Π·Π°ΠΊΡƒΠΏΠΈΡ‚ΡŒΒ» (имССтся Π² Π²ΠΈΠ΄Ρƒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ запроса + компСнсация ΠΎΡ€Π°ΠΊΡƒΠ»Ρƒ Π·Π° ΠΎΡ‚Π²Π΅Ρ‚Π½ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, это сумма порядка $0.015 ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ курсу, сам ΠΊΠΎΠ΄ выдаСтся бСсплатно) Π·Π°Ρ€Π°Π½Π΅Π΅ сразу нСсколько, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ получСния ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π― сдСлал нСбольшой рСгулярно пополняСмый Π±ΡƒΡ„Π΅Ρ€ Π² Π‘Π”.

  2. Π’ΡƒΡ€Π½ΠΈΡ€ длится стандартно 60 Π±Π»ΠΎΠΊΠΎΠ² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Waves platform, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 1 час. Π’ΡƒΡ€Π½ΠΈΡ€ считаСтся ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠΈΠΌΡΡ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ, Ссли послС 60 Π±Π»ΠΎΠΊΠΎΠ² Π² Π½Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΄Π²ΡƒΡ… Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ², ΠΈΠ½Π°Ρ‡Π΅ врСмя активности Ρ‚ΡƒΡ€Π½ΠΈΡ€Π° продлСваСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 60 Π±Π»ΠΎΠΊΠΎΠ².
  3. Π‘Ρ€Π°Π·Ρƒ послС закрытия Ρ‚ΡƒΡ€Π½ΠΈΡ€Π° ΠΌΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ отправляСм Π΄Π°Ρ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (Π·Π° Π½Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Ρ‚ΠΈΠΌ комиссию ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ $0.005), ΠΏΡ€ΠΈ нСобходимости β€” нСсколько, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зафиксированы всС условия Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹ΡˆΠ° ΠΈ упорядочСнный список ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² (Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ²) ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.
  4. На Π΄Π°Π½Π½ΠΎΠΌ этапС Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ пСрвая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° (R-code) плюс ID Π΄Π°Ρ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (TXID). ΠœΡ‹ отправляСм ΠΈΡ… Π½Π° подпись ΠΎΡ€Π°ΠΊΡƒΠ»Ρƒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ (R-code + TXID), ΠΎΠΏΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚ΠΈΠΌ комиссию+ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°Ρ†ΠΈΡŽ. ΠžΡ€Π°ΠΊΡƒΠ» провСряСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ принадлСТности, Π° Π² ΠΎΡ‚Π²Π΅Ρ‚ посылаСт Π½Π°ΠΌ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° (S-code) Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ sha256, которая ΠΈ являСтся ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл.
  5. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ случайноС число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° порядковый Π½ΠΎΠΌΠ΅Ρ€ побСдившСго Π±ΠΈΠ»Π΅Ρ‚Π°, ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ S-code ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… sha256 Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΠΈΡ€ΠΈΡ‡Π½ΠΎΠ΅ (HEX) прСдставлСниС. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΉΡΡ HEX строки, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ число. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ остаток ΠΎΡ‚ дСлСния ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ числа Π½Π° количСство Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ² (all_tickets) ΠΈ прибавляСм ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ 1 (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ 1 Π΄ΠΎ all_tickets). Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ порядковый Π½ΠΎΠΌΠ΅Ρ€ побСдитСля.
  6. Если ΠΏΠΎ условиям Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹ΡˆΠ° ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ нСсколько, Ρ‚ΠΎ повторяСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² количСствС Ρ€Π°Π²Π½ΠΎΠΌ количСству ΠΏΡ€ΠΈΠ·ΠΎΠ²Ρ‹Ρ… мСст. ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· удаляСм ΠΈΠ· списка Π±ΠΈΠ»Π΅Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π²Ρ‹ΠΈΠ³Ρ€Π°Π» ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ all_tickets Π½Π° 1, Π° вмСсто S-code ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ число.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΡƒΡ€Π½ΠΈΡ€ β„–119:

ВсСго 7 Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ² (all_tickets)
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π±ΠΈΠ»Π΅Ρ‚Π° 50 ΠΌΠΎΠ½Π΅Ρ‚ (Bet)
Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ сбор 10% (Fee)

По условиям Π»ΠΎΡ‚Π΅Ρ€Π΅ΠΈ 30% ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΈΠ·ΠΎΠ²Ρ‹Π΅, Ρ‚.Π΅. Π² Π΄Π°Π½Π½ΠΎΠΌ случаС 2 Π±ΠΈΠ»Π΅Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ·, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ считаСтся ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (Bet*all_tickets-Fee)/2.

1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ R-code: RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE

2. ПослС закрытия Ρ‚ΡƒΡ€Π½ΠΈΡ€Π° ΠΈΠΌΠ΅Π΅ΠΌ список Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€: Π½ΠΎΠΌΠ΅Ρ€ + адрСс (адрСс кошСлька с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»Π° ΠΎΠΏΠ»Π°Ρ‚Π° участия Π² Ρ‚ΡƒΡ€Π½ΠΈΡ€Π΅). Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ адрСса ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ участник ΠΊΡƒΠΏΠΈΠ» нСсколько Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ Ρ‚ΡƒΡ€Π½ΠΈΡ€, это Π½Π΅ возбраняСтся ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ: 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

3. Запросили S-code: FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ (R-code + TXID):
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

4. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ S-code: Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC

5. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

6. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠ»Π°Ρ‚Ρ‹

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹ΡˆΠ° ΠΏΡ€ΠΈΠ·ΠΎΠ² с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π΅ Π² любоС врСмя. ΠŸΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ со стороны ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΠΆΠ΅ Π½Π΅ получится.

determine the winner β„– 1

All_tickets:
Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:145
Index: 5 Ticket:147
Index: 6 Ticket:149
Index: 7 Ticket:151

1. bin -> hex ( bin2hex(sha256(S-code)) ): Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC -> 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596

2. hex -> gmp number: 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 99037963059744689166154019807924045947962565922868104113173478160267437352342

3. gmp -> modulo (mod=7): 99037963059744689166154019807924045947962565922868104113173478160267437352342 -> 4

4. modulo -> ticket: 4 -> 145

determine the winner β„– 2

All_tickets:

Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:147
Index: 5 Ticket:149
Index: 6 Ticket:151

1. bin -> hex ( bin2hex(sha256(previous hex)) ): daf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0
2. hex -> gmp number: 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0 -> 67565829218838067182838043983962684143266386786567427968312120473742580659360
3. gmp -> modulo (mod=6): 67565829218838067182838043983962684143266386786567427968312120473742580659360 -> 1
4. modulo -> ticket: 1 -> 139

End.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com