Ухиляйся від своєї смерті!


13

Вступ

"Muhuhuhahahah!" Шалений учений сміється. "Ви в пастці в моїй маленькій грі!"

Перед вами смертельна яма змій, а позаду вас - бездонна прірва. Виходу немає, ти застряг!

"Два кроки перед тобою - зміїна яма, а два кроки позаду тебе - прірва. Але, перш ніж рухатись, ти ОБОВ'ЯЗКОВО запишеш послідовність кроків, вперед і назад, і передаєш їх мені. Але! Тому що я Я почуваюся трохи зла сьогодні, я можу змусити вас зробити замість кожного кроку кожен nкрок, де nменша довжина вашої послідовності!

Вибирай розумно, зараз ».

Яка максимальна кількість кроків, які ви можете зробити до своєї неминучої смерті?

Завдання

Вступ вище - це поворот у припущенні Ерда про невідповідність , що нещодавно було доведено правдою (якщо ви хочете зрозуміти більше про це, перейдіть до цього відео Джеймса Гріма - я "вкрав" питання про поворот у нього).

Відповідь на вступ - це 11кроки, але я не буду надто поглиблений із доказом. Відповідь, якщо відстань між вами та двома "небезпеками" були 3кроками, - це 1160кроки, хоча це ще не підтверджено належним чином.

Ваше завдання - скласти програму, яка генерує найдовшу послідовність кроків, яких ви можете досягти для більшого x, де xкількість кроків між вами та двома "небезпеками". Ваша програма повинна взяти вклад для xта вивести дійсну послідовність для цього x.

Для цілей цього виклику +являє собою крок вперед і -являє собою крок назад.

Отже, вихід для входу 2:

+--+-++--++

Що працює, незалежно від того, nщо обере божевільний вчений. Для нашого завдання x = 5.

ПРИМІТКА. Цей виклик не є справжньою задачею або цією проблемою , оскільки моє виклик фокусується на результатах, на відміну від самого коду - іншими словами, це не проблема кодового гольфу. Крім того, ці проблеми базуються на тому x = 3, що вже має встановлену верхню межу.

Правила:

  • Уся ваша програма повинна відповідати вашій відповіді. Однак якщо воно не відповідає, надайте додаткове сховище Github або щось подібне.
  • Ви можете оновити як свою відповідь, так і свою програму, якщо зможете отримати кращий бал за допомогою оптимізації коду - але, зробивши це, ви повинні оновити все, наведене в списку нижче.
  • У своїй відповіді ви повинні мати:
    • Ваша програма в повному обсязі або посилання на сховище GH, що розміщує ваш код
    • Кількість сформованих кроків - це буде ваш остаточний бал .
      • Ви також повинні надати в Інтернеті версію послідовності в Pastebin або щось подібне. Це так, що ми можемо перевірити вашу відповідь.
    • Час останнього оновлення остаточного бала, тому мені не доведеться перевіряти вашу історію
  • Заздалегідь НЕ можна НЕ твердо кодувати послідовності.
  • Ваша програма повинна працювати для всіхx (де xкількість кроків між вами та ямою і прірвою), але вам потрібно лише надати рахунок x = 5.

Відповідь з найбільшим балом виграє!


Для того, щоб перевірити моє розуміння, вам потрібна послідовність, де навіть якщо ви взяли кожного іншого чи кожного третього елемента, ви виживаєте?
Notts90 підтримує Моніку

1
@ Notts90 Так - це, мабуть, не просто для цього. Це має спрацювати, якщо ви зробили кожен nкрок, де nбудь-яке число нижче розміру послідовності.
clismique

Дуже тісно пов'язані . (Я закликав це як потенційний дублікат у пісочниці; тому я очікував, що текст виклику хоча б обговорить його.)

Я думаю, що цей виклик неможливий, практично кажучи. Визначення максимальної тривалості розбіжності x=5потребує значного прориву, який був би гідний публікації. Вважайте, що максимум 1160 для x=3було доведено і опубліковано в 2014 році, і більше ніяких значень не відомо. .
xnor

Чи 0 належним N?
тускіоми

Відповіді:


6

Іржа, оцінка = 4997216, час = 2017-07-12 00:18 UTC

Це покращується за найкращим результатом, який я зміг знайти в літературі, яка становила 1148805 (Ронан Ле Брас, Карла П. Гомес, Барт Сельман, Про проблему невідповідності Ерда , 2014), з коефіцієнтом 4,3.

Вихідна послідовність довжиною 4997216

Вихідний код на GitHub

Біг

Програма приймає максимальну невідповідність як аргумент (це х - 1 мовою виклику, щоб узгодити з більш поширеною математичною умовою). Він створює додаткові виходи у злегка стисненому форматі, який виглядає так для x = 3:

$ cargo run --release 2
add +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-+
length 90
delete 12
add --++--+-++-++--+-++--+--+-++--+-
length 110
delete 4
add +-+--+-++-++--+-++--+--+-++-++--+-++-+
length 144
delete 6
add --++-++--+-++--+--++++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-+-
length 214
delete 208
add --+++--+++--+-+--+++--+-+--+++--++---+-+--+-+-++-+--+++--+++--+---++-+--+-++-+++---++--+-++-++--++--+--++--+++--+-+-++-+--+-+--+++---+++-+----+++--+-++--++-+-++--+-+--+-+-++-+--+++--++--+--+--+-++-++---++-++-++-+--+-++
length 224
delete 2
add -+++--+-+--+++---++--+--
length 246
done

де addзасіб додає послідовність знаків до кінця поточної послідовності, deleteозначає видалити деяку кількість знаків з кінця поточної послідовності і lengthзатверджує довжину поточної послідовності. Ця схема дозволяє уникнути отримання багатьох гігабайт проміжних результатів у міру виявлення довших і довших послідовностей. Ви можете отримати найкращий результат поки що за допомогою наступної програми Python:

import sys
s = ''
for line in sys.stdin:
    cmd = line.split()
    if cmd[0] == 'delete': s = s[:-int(cmd[1])]
    elif cmd[0] == 'add': s += cmd[1]
    elif cmd[0] == 'length': assert len(s) == int(cmd[1])
print(s)

Як це працює

Тут налічується близько тисячі рядків коду, тож це буде лише дуже приблизний огляд.

Ми обмежуємо пошук повністю мультиплікативними послідовностями (тими, що мають f ( a · b ) = f ( a ) · f ( b )), тому що це означає, що нам потрібно стосуватися лише обмеження часткових сум для n = 1, і часткового Суми для n ≥ 2 автоматично задовольняють ту саму межу.

Для будь-якої підрядки f ( i + 1),…, f ( j ) частково призначеної послідовності знаків (тому кожен елемент є "+", "-" або невідомий), визначте небезпеку + ( i , j ) вдвічі кількість '+' s мінус довжина j - i (для зручності ми дозволяємо i бути такою ж маленькою, як - x + 2, і припустимо f (- x + 3) = ⋯ = f (0) = '+' для ціль). Визначте небезпеку - ( i , j ) аналогічно. Тоді пов'язане на часткові суми за n= 1 еквівалентно умові, що коли ijx (mod 2), небезпека + ( i , j ) ≤ x - 2 і небезпека - ( i , j ) ≤ x - 2.

Ми будуємо додаткову структуру даних, яка підтримує постійні запити часу для підрядка з найбільшою небезпекою, з логарифмічними оновленнями часу. Він працює, поєднуючи чотири значення:

  • небезпека ( i , j ),
  • max ikj небезпека ( i , k ),
  • max ikj небезпека ( k , j ) та
  • max iklj небезпека ( k , l ),

з кожним рядком довжиною 2, кожним іншим рядком довжиною 4, кожним четвертим рядком довжиною 8 тощо. Значення, пов'язані з довшою строкою, можна обчислювати за постійний час із значень, пов'язаних з її двома половинами.

Ця структура, доповнена деякою допоміжною інформацією, дозволяє нам дуже швидко розповсюджувати обмеження та виявляти конфлікти на часткових послідовностях. Ми використовуємо це для пошуку, схожого на CDCL , з розповсюдженням одиниць, рівнями рішень та нехронологічним зворотним відстеженням (але без вивчення зауважень на даний момент) для повних послідовностей більшої та більшої довжини.

На кожному кроці пошуку ми гадаємо про найдавніший непризначений знак. Евристика, яка використовується для здогадки, є дуже важливою для уникнення багатьох зворотних треків; використовуємо f (3 · k ) = - f ( k ), f (3 · k + 1) = '+', f (3 · k + 2) = '-'.

Результати

Невідповідність пошуків 0, 1 та 2 негайно знаходить оптимальні повністю мультиплікативні послідовності довжиною 0, 9 та 246.

Пошук невідповідності 3 затримується протягом декількох секунд на 41319, що досить далеко від відомої оптимальної повністю мультиплікативної послідовності довжиною 127645, знайденої Le Bras et al., 2014 (і дуже трохи довше не мультиплікативне розширення довжиною 130000, знайдене незабаром після цього ), але набагато краще, ніж найвідоміша послідовність раніше, ніж довжина 17000 .

Пошук невідповідності 4 покращує найдовшу послідовність більш-менш постійно протягом приблизно п’яти хвилин, поки вона не застряє на 4997216. Найкращу відому раніше послідовність довжиною 1148805 = 9 · 127645 було розширено з послідовності розбіжності 3 шляхом заміни кожного знака s на + - - + - ++ - s . Наскільки я можу сказати, послідовності цього часу занадто важкі для загального вирішувача SAT, щоб розумно поліпшити його безпосередньо (але, можливо, ви, шановний читачу, можете мені довести неправильність!

Я сподіваюся, що мені потрібно буде додати до моєї програми якесь навчання клаузулам, щоб подолати ці бар'єри.

Послідовність у вигляді бітової карти 2187 × 2285

(Клацніть для перегляду в повній роздільній здатності.)

послідовність у вигляді бітової карти 2187 × 2285


127465 - це повністю мультиплікативна послідовність, правда?
CalculatorFeline

"Клаузове навчання"?
CalculatorFeline

Див. Навчання за допомогою конфлікту на основі конфліктів - це те, як працюють сучасні рішення SAT.
Anders Kaseorg

У чому вся нечіткість у растровій карті?
СС Енн

@SSAnne Місця, де програма виявила, що відхилення від евристики призводить до більш тривалої послідовності.
Андерс Касеорг

3

Haskell , оцінка = 9020, час = 2017-06-09 00:52 UTC

f 1=""
f n="+-"++do c<-f(n-1)++"-";"-+-++-"++c:"+-"

Спробуйте в Інтернеті!

Це оцінка (9 n - 1 - 1) ⋅11 / 8 для всіх n . Ось кілька перших результатів:

n=1, length=0: 
n=2, length=11: +--+-++--+-
n=3, length=110: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
n=4, length=1001: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
n=5, length=9020: +--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++-++--+-++-++--+-++--+--+-++--+--+-++-++--+-++--+--+-++--+-
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.