1
0

4 Коммиты e92e3ac01a ... c3693b1e92

Автор SHA1 Сообщение Дата
  Oleg Panashchenko c3693b1e92 refactor: dictionary hints 1 неделя назад
  Oleg Panashchenko 922a2d78bc refactor: remove id field from targets, use array index 1 неделя назад
  Oleg Panashchenko c48b7a32d7 feat: extend targets dictionary to 1000 words 1 неделя назад
  Oleg Panashchenko 5391d108ed fix: audio to dict 1 неделя назад

+ 1 - 0
.gitignore

@@ -1,2 +1,3 @@
 node_modules/
 dist/
+raw/abramov-ru-synonyms.json

+ 3576 - 106
data/word-bank-ru.json

@@ -508,7 +508,7 @@
     "обком",
     "виски",
     "сеанс",
-    "новое",
+    "новье",
     "влага",
     "палач",
     "мэрия",
@@ -2383,504 +2383,3974 @@
   ],
   "targets": [
     {
-      "id": 1,
+      "word": "время",
+      "hint": "пора"
+    },
+    {
       "word": "жизнь",
       "hint": "бытие"
     },
     {
-      "id": 2,
       "word": "слово",
       "hint": "речь"
     },
     {
-      "id": 3,
+      "word": "место",
+      "hint": "помещение"
+    },
+    {
+      "word": "конец",
+      "hint": "окончание"
+    },
+    {
       "word": "часть",
       "hint": "доля"
     },
     {
-      "id": 4,
       "word": "город",
       "hint": "посёлок"
     },
     {
-      "id": 5,
       "word": "земля",
       "hint": "почва"
     },
     {
-      "id": 6,
       "word": "право",
       "hint": "закон"
     },
     {
-      "id": 7,
+      "word": "дверь",
+      "hint": "вход"
+      
+    },
+    {
       "word": "образ",
       "hint": "облик"
     },
     {
-      "id": 8,
       "word": "закон",
       "hint": "правило"
     },
     {
-      "id": 9,
       "word": "война",
       "hint": "битва"
     },
     {
-      "id": 10,
       "word": "голос",
       "hint": "звук"
     },
     {
-      "id": 11,
       "word": "книга",
       "hint": "роман"
     },
     {
-      "id": 12,
       "word": "число",
       "hint": "цифра"
     },
     {
-      "id": 13,
       "word": "народ",
       "hint": "люди"
     },
     {
-      "id": 14,
       "word": "форма",
       "hint": "фигура"
     },
     {
-      "id": 15,
+      "word": "связь",
+      "hint": "сцепление"
+    },
+    {
       "word": "улица",
       "hint": "дорога"
     },
     {
-      "id": 16,
       "word": "вечер",
       "hint": "закат"
     },
     {
-      "id": 17,
       "word": "мысль",
       "hint": "идея"
     },
     {
-      "id": 18,
       "word": "месяц",
       "hint": "луна"
     },
     {
-      "id": 19,
       "word": "школа",
       "hint": "учёба"
     },
     {
-      "id": 20,
       "word": "театр",
       "hint": "сцена"
     },
     {
-      "id": 21,
+      "word": "рубль",
+      "hint": "валюта"
+    },
+    {
       "word": "смысл",
       "hint": "суть"
     },
     {
-      "id": 22,
+      "word": "орган",
+      "hint": "орудие"
+    },
+    {
       "word": "рынок",
       "hint": "базар"
     },
     {
-      "id": 23,
+      "word": "семья",
+      "hint": "ячейка"
+    },
+    {
       "word": "центр",
       "hint": "середина"
     },
     {
-      "id": 24,
       "word": "ответ",
       "hint": "отклик"
     },
     {
-      "id": 25,
       "word": "автор",
       "hint": "писатель"
     },
     {
-      "id": 26,
+      "word": "стена",
+      "hint": "перегородка"
+    },
+    {
       "word": "совет",
       "hint": "наказ"
     },
     {
-      "id": 27,
       "word": "глава",
       "hint": "лидер"
     },
     {
-      "id": 28,
       "word": "наука",
       "hint": "знание"
     },
     {
-      "id": 29,
       "word": "плечо",
       "hint": "рука"
     },
     {
-      "id": 30,
       "word": "точка",
       "hint": "пятно"
     },
     {
-      "id": 31,
       "word": "палец",
-      "hint": "рука"
+      "hint": "перст"
+    },
+    {
+      "word": "номер",
+      "hint": "телефона"
     },
     {
-      "id": 32,
       "word": "метод",
       "hint": "способ"
     },
     {
-      "id": 33,
       "word": "фильм",
       "hint": "кино"
     },
     {
-      "id": 34,
       "word": "гость",
       "hint": "визитёр"
     },
     {
-      "id": 35,
       "word": "район",
       "hint": "зона"
     },
     {
-      "id": 36,
       "word": "кровь",
       "hint": "рана"
     },
     {
-      "id": 37,
       "word": "армия",
       "hint": "войско"
     },
     {
-      "id": 38,
       "word": "класс",
       "hint": "группа"
     },
     {
-      "id": 39,
       "word": "герой",
       "hint": "смельчак"
     },
     {
-      "id": 40,
       "word": "спина",
       "hint": "тело"
     },
     {
-      "id": 41,
+      "word": "сцена",
+      "hint": "театр"
+    },
+    {
+      "word": "объем",
+      "hint": "кубометр"
+    },
+    {
       "word": "берег",
       "hint": "пляж"
     },
     {
-      "id": 42,
       "word": "фирма",
       "hint": "компания"
     },
     {
-      "id": 43,
       "word": "завод",
       "hint": "фабрика"
     },
     {
-      "id": 44,
+      "word": "песня",
+      "hint": "попутная"
+    },
+    {
+      "word": "роман",
+      "hint": "повесть"
+    },
+    {
+      "word": "стихи",
+      "hint": "проза"
+    },
+    {
       "word": "повод",
       "hint": "причина"
     },
     {
-      "id": 45,
+      "word": "успех",
+      "hint": "удача"
+    },
+    {
       "word": "выход",
       "hint": "уход"
     },
     {
-      "id": 46,
       "word": "текст",
       "hint": "письмо"
     },
     {
-      "id": 47,
       "word": "пункт",
       "hint": "место"
     },
     {
-      "id": 48,
       "word": "линия",
       "hint": "черта"
     },
     {
-      "id": 49,
       "word": "среда",
       "hint": "окружение"
     },
     {
-      "id": 50,
       "word": "волос",
       "hint": "прядь"
     },
     {
-      "id": 51,
       "word": "ветер",
       "hint": "буря"
     },
     {
-      "id": 52,
       "word": "огонь",
       "hint": "пламя"
     },
     {
-      "id": 53,
+      "word": "грудь",
+      "hint": "колесом"
+    },
+    {
       "word": "страх",
       "hint": "ужас"
     },
     {
-      "id": 54,
+      "word": "сумма",
+      "hint": "итог"
+    },
+    {
       "word": "сфера",
       "hint": "область"
     },
     {
-      "id": 55,
+      "word": "мужик",
+      "hint": "простолюдин"
+    },
+    {
       "word": "немец",
       "hint": "германец"
     },
     {
-      "id": 56,
       "word": "выбор",
       "hint": "отбор"
     },
     {
-      "id": 57,
       "word": "масса",
       "hint": "вес"
     },
     {
-      "id": 58,
+      "word": "слава",
+      "hint": "репутация"
+    },
+    {
       "word": "кухня",
       "hint": "готовка"
     },
     {
-      "id": 59,
+      "word": "отдел",
+      "hint": "департамент"
+    },
+    {
       "word": "товар",
       "hint": "продукт"
     },
     {
-      "id": 60,
+      "word": "актер",
+      "hint": "лицедей"
+    },
+    {
+      "word": "слеза",
+      "hint": "кап-кап-кап"
+    },
+    {
       "word": "вывод",
       "hint": "итог"
     },
     {
-      "id": 61,
       "word": "норма",
       "hint": "правило"
     },
     {
-      "id": 62,
       "word": "рамка",
       "hint": "граница"
     },
     {
-      "id": 63,
       "word": "прием",
       "hint": "встреча"
     },
     {
-      "id": 64,
       "word": "режим",
       "hint": "порядок"
     },
     {
-      "id": 65,
       "word": "целое",
       "hint": "полное"
     },
     {
-      "id": 66,
+      "word": "вирус",
+      "hint": "грипп"
+    },
+    {
+      "word": "поиск",
+      "hint": "розыск"
+    },
+    {
+      "word": "налог",
+      "hint": "дань"
+    },
+    {
       "word": "доход",
       "hint": "прибыль"
     },
     {
-      "id": 67,
       "word": "карта",
       "hint": "схема"
     },
     {
-      "id": 68,
       "word": "акция",
       "hint": "дело"
     },
     {
-      "id": 69,
       "word": "фраза",
       "hint": "выражение"
     },
     {
-      "id": 70,
+      "word": "сосед",
+      "hint": "сожитель"
+    },
+    {
       "word": "толпа",
       "hint": "скопление"
     },
     {
-      "id": 71,
+      "word": "схема",
+      "hint": "набросок"
+    },
+    {
+      "word": "волна",
+      "hint": "вал"
+    },
+    {
       "word": "птица",
       "hint": "пернатый"
     },
     {
-      "id": 72,
       "word": "запах",
       "hint": "аромат"
     },
     {
-      "id": 73,
+      "word": "водка",
+      "hint": "пиво"
+    },
+    {
       "word": "поезд",
       "hint": "состав"
     },
     {
-      "id": 74,
       "word": "адрес",
       "hint": "жильё"
     },
     {
-      "id": 75,
       "word": "лидер",
       "hint": "вождь"
     },
     {
-      "id": 76,
+      "word": "стиль",
+      "hint": "вкус"
+    },
+    {
       "word": "весна",
       "hint": "сезон"
     },
     {
-      "id": 77,
+      "word": "эпоха",
+      "hint": "столетие"
+    },
+    {
+      "word": "тайна",
+      "hint": "секрет"
+    },
+    {
+      "word": "запад",
+      "hint": "дан приказ ему"
+    },
+    {
+      "word": "трава",
+      "hint": "мурава"
+    },
+    {
+      "word": "фронт",
+      "hint": "тыл"
+    },
+    {
       "word": "музей",
       "hint": "галерея"
     },
     {
-      "id": 78,
+      "word": "князь",
+      "hint": "правитель"
+    },
+    {
       "word": "сутки",
       "hint": "день"
     },
     {
-      "id": 79,
+      "word": "судья",
+      "hint": "ценитель"
+    },
+    {
+      "word": "крыша",
+      "hint": "черепица"
+    },
+    {
+      "word": "поток",
+      "hint": "ручей"
+    },
+    {
+      "word": "честь",
+      "hint": "достоинство"
+    },
+    {
       "word": "еврей",
       "hint": "иудей"
     },
     {
-      "id": 80,
       "word": "сотня",
-      "hint": "сто"
+      "hint": "центнер"
+    },
+    {
+      "word": "дождь",
+      "hint": "ливень"
     },
     {
-      "id": 81,
       "word": "труба",
       "hint": "дымоход"
     },
     {
-      "id": 82,
+      "word": "осень",
+      "hint": "болдинская"
+    },
+    {
+      "word": "пьеса",
+      "hint": "Мольер"
+    },
+    {
+      "word": "черта",
+      "hint": "линия"
+    },
+    {
+      "word": "кусок",
+      "hint": "часть"
+    },
+    {
+      "word": "билет",
+      "hint": "на галёрку"
+    },
+    {
       "word": "масло",
       "hint": "жир"
     },
     {
-      "id": 83,
       "word": "экран",
       "hint": "дисплей"
     },
     {
-      "id": 84,
+      "word": "канал",
+      "hint": "углубление"
+    },
+    {
       "word": "вагон",
       "hint": "поезд"
     },
     {
-      "id": 85,
+      "word": "дурак",
+      "hint": "тупица"
+    },
+    {
       "word": "сезон",
       "hint": "пора"
     },
     {
-      "id": 86,
+      "word": "запас",
+      "hint": "кладовая"
+    },
+    {
       "word": "длина",
       "hint": "размер"
     },
     {
-      "id": 87,
+      "word": "округ",
+      "hint": "околоток"
+    },
+    {
+      "word": "крыло",
+      "hint": "перья"
+    },
+    {
       "word": "доска",
       "hint": "дерево"
     },
     {
-      "id": 88,
+      "word": "полет",
+      "hint": "шмеля"
+    },
+    {
+      "word": "пакет",
+      "hint": "конверт"
+    },
+    {
+      "word": "живот",
+      "hint": "брюхо"
+    },
+    {
+      "word": "смена",
+      "hint": "дежурство"
+    },
+    {
+      "word": "порог",
+      "hint": "ступеньки"
+    },
+    {
+      "word": "буква",
+      "hint": "знак"
+    },
+    {
       "word": "лодка",
       "hint": "судно"
     },
     {
-      "id": 89,
       "word": "серия",
       "hint": "ряд"
     },
     {
-      "id": 90,
+      "word": "шутка",
+      "hint": "забава"
+    },
+    {
       "word": "кулак",
-      "hint": "рука"
+      "hint": "ладонь"
     },
     {
-      "id": 91,
       "word": "нефть",
       "hint": "топливо"
     },
     {
-      "id": 92,
+      "word": "цифра",
+      "hint": "десятичная"
+    },
+    {
+      "word": "сапог",
+      "hint": "кирзовый"
+    },
+    {
+      "word": "мешок",
+      "hint": "карман"
+    },
+    {
+      "word": "жилье",
+      "hint": "дом"
+    },
+    {
+      "word": "отказ",
+      "hint": "отрицание"
+    },
+    {
+      "word": "замок",
+      "hint": "ключ"
+    },
+    {
+      "word": "диван",
+      "hint": "софа"
+    },
+    {
+      "word": "покой",
+      "hint": "бездействие"
+    },
+    {
+      "word": "добро",
+      "hint": "благо"
+    },
+    {
+      "word": "спорт",
+      "hint": "состязание"
+    },
+    {
       "word": "кость",
       "hint": "скелет"
     },
     {
-      "id": 93,
+      "word": "майор",
+      "hint": "Томин"
+    },
+    {
+      "word": "ручка",
+      "hint": "перо"
+    },
+    {
+      "word": "отдых",
+      "hint": "перекур"
+    },
+    {
+      "word": "мечта",
+      "hint": "заветная"
+    },
+    {
+      "word": "сюжет",
+      "hint": "содержание"
+    },
+    {
+      "word": "рубеж",
+      "hint": "граница"
+    },
+    {
+      "word": "крест",
+      "hint": "плюс"
+    },
+    {
       "word": "взрыв",
       "hint": "удар"
     },
     {
-      "id": 94,
       "word": "почва",
       "hint": "земля"
     },
     {
-      "id": 95,
+      "word": "заказ",
+      "hint": "ордер"
+    },
+    {
+      "word": "штука",
+      "hint": "единица"
+    },
+    {
+      "word": "сумка",
+      "hint": "авоська"
+    },
+    {
       "word": "хвост",
       "hint": "конец"
     },
     {
-      "id": 96,
+      "word": "песок",
+      "hint": "пыль"
+    },
+    {
+      "word": "озеро",
+      "hint": "пруд"
+    },
+    {
       "word": "строй",
       "hint": "порядок"
     },
     {
-      "id": 97,
+      "word": "танец",
+      "hint": "пляска"
+    },
+    {
+      "word": "дочка",
+      "hint": "ребёнок"
+    },
+    {
+      "word": "набор",
+      "hint": "коллекция"
+    },
+    {
+      "word": "горло",
+      "hint": "шея"
+    },
+    {
+      "word": "плата",
+      "hint": "вознаграждение"
+    },
+    {
+      "word": "съезд",
+      "hint": "собрание"
+    },
+    {
+      "word": "кошка",
+      "hint": "мурлыка"
+    },
+    {
+      "word": "пятно",
+      "hint": "родимое"
+    },
+    {
+      "word": "ткань",
+      "hint": "ситец"
+    },
+    {
+      "word": "океан",
+      "hint": "атлантический"
+    },
+    {
+      "word": "визит",
+      "hint": "встреча"
+    },
+    {
+      "word": "пауза",
+      "hint": "остановка"
+    },
+    {
+      "word": "ствол",
+      "hint": "дуло"
+    },
+    {
+      "word": "тепло",
+      "hint": "жара"
+    },
+    {
+      "word": "радио",
+      "hint": "Попов"
+    },
+    {
+      "word": "нация",
+      "hint": "народ"
+    },
+    {
+      "word": "зверь",
+      "hint": "животное"
+    },
+    {
+      "word": "банка",
+      "hint": "консерва"
+    },
+    {
+      "word": "метро",
+      "hint": "Новослободская"
+    },
+    {
       "word": "отчет",
       "hint": "доклад"
     },
     {
-      "id": 98,
+      "word": "тоска",
+      "hint": "печаль"
+    },
+    {
+      "word": "обмен",
+      "hint": "передача"
+    },
+    {
       "word": "забор",
       "hint": "стена"
     },
     {
-      "id": 99,
+      "word": "мороз",
+      "hint": "холод"
+    },
+    {
+      "word": "марка",
+      "hint": "почтовая"
+    },
+    {
+      "word": "спрос",
+      "hint": "предложение"
+    },
+    {
+      "word": "грязь",
+      "hint": "распутица"
+    },
+    {
+      "word": "мотор",
+      "hint": "коленвал"
+    },
+    {
+      "word": "север",
+      "hint": "Кушка"
+    },
+    {
+      "word": "склад",
+      "hint": "помещение"
+    },
+    {
+      "word": "мотив",
+      "hint": "причина"
+    },
+    {
+      "word": "арест",
+      "hint": "задержание"
+    },
+    {
+      "word": "отряд",
+      "hint": "войско"
+    },
+    {
+      "word": "собор",
+      "hint": "храм"
+    },
+    {
+      "word": "нужда",
+      "hint": "надобность"
+    },
+    {
+      "word": "салон",
+      "hint": "красоты"
+    },
+    {
+      "word": "капля",
+      "hint": "яда"
+    },
+    {
       "word": "пожар",
       "hint": "огонь"
     },
     {
-      "id": 100,
-      "word": "ножка",
-      "hint": "нога"
+      "word": "холод",
+      "hint": "прохлада"
+    },
+    {
+      "word": "тетка",
+      "hint": "голод не"
+    },
+    {
+      "word": "обида",
+      "hint": "огорчение"
+    },
+    {
+      "word": "вклад",
+      "hint": "срочный"
+    },
+    {
+      "word": "шофер",
+      "hint": "водитель"
+    },
+    {
+      "word": "туман",
+      "hint": "мгла"
+    },
+    {
+      "word": "рукав",
+      "hint": "жилетка"
+    },
+    {
+      "word": "гонка",
+      "hint": "соревнование"
+    },
+    {
+      "word": "атака",
+      "hint": "наступление"
+    },
+    {
+      "word": "игрок",
+      "hint": "азартный"
+    },
+    {
+      "word": "тонна",
+      "hint": "масса"
+    },
+    {
+      "word": "орден",
+      "hint": "медаль"
+    },
+    {
+      "word": "вождь",
+      "hint": "военачальник"
+    },
+    {
+      "word": "юноша",
+      "hint": "отрок"
+    },
+    {
+      "word": "вызов",
+      "hint": "дуэль"
+    },
+    {
+      "word": "бабка",
+      "hint": "ежка"
+    },
+    {
+      "word": "полка",
+      "hint": "шкаф"
+    },
+    {
+      "word": "бровь",
+      "hint": "глаз"
+    },
+    {
+      "word": "удача",
+      "hint": "успех"
+    },
+    {
+      "word": "бытие",
+      "hint": "существование"
+    },
+    {
+      "word": "шапка",
+      "hint": "ушанка"
+    },
+    {
+      "word": "ложка",
+      "hint": "вилка"
+    },
+    {
+      "word": "белок",
+      "hint": "желток"
+    },
+    {
+      "word": "охота",
+      "hint": "ловля"
+    },
+    {
+      "word": "голод",
+      "hint": "мор"
+    },
+    {
+      "word": "домик",
+      "hint": "печка"
+    },
+    {
+      "word": "ветка",
+      "hint": "колючая"
+    },
+    {
+      "word": "тариф",
+      "hint": "цена"
+    },
+    {
+      "word": "башня",
+      "hint": "вышка"
+    },
+    {
+      "word": "гений",
+      "hint": "умник"
+    },
+    {
+      "word": "агент",
+      "hint": "представитель"
+    },
+    {
+      "word": "сахар",
+      "hint": "сладкий"
+    },
+    {
+      "word": "благо",
+      "hint": "польза"
+    },
+    {
+      "word": "смесь",
+      "hint": "купаж"
+    },
+    {
+      "word": "разум",
+      "hint": "сообразительность"
+    },
+    {
+      "word": "плита",
+      "hint": "доска"
+    },
+    {
+      "word": "брюки",
+      "hint": "штаны"
+    },
+    {
+      "word": "мышца",
+      "hint": "накачанная"
+    },
+    {
+      "word": "посол",
+      "hint": "посредник"
+    },
+    {
+      "word": "пачка",
+      "hint": "связка"
+    },
+    {
+      "word": "шоссе",
+      "hint": "тракт"
+    },
+    {
+      "word": "икона",
+      "hint": "образ"
+    },
+    {
+      "word": "халат",
+      "hint": "балахон"
+    },
+    {
+      "word": "идеал",
+      "hint": "совершенство"
+    },
+    {
+      "word": "лента",
+      "hint": "тесьма"
+    },
+    {
+      "word": "штамм",
+      "hint": "вариант"
+    },
+    {
+      "word": "бомба",
+      "hint": "взрыв"
+    },
+    {
+      "word": "ущерб",
+      "hint": "убыток"
+    },
+    {
+      "word": "архив",
+      "hint": "хранилище"
+    },
+    {
+      "word": "штаны",
+      "hint": "брюки"
+    },
+    {
+      "word": "сырье",
+      "hint": "материал"
+    },
+    {
+      "word": "поход",
+      "hint": "набег"
+    },
+    {
+      "word": "морда",
+      "hint": "лицо"
+    },
+    {
+      "word": "проза",
+      "hint": "поэзия"
+    },
+    {
+      "word": "опера",
+      "hint": "балет"
+    },
+    {
+      "word": "маска",
+      "hint": "косметическая"
+    },
+    {
+      "word": "шляпа",
+      "hint": "кепка"
+    },
+    {
+      "word": "ведро",
+      "hint": "оцинкованное"
+    },
+    {
+      "word": "белье",
+      "hint": "трусы"
+    },
+    {
+      "word": "лампа",
+      "hint": "керосинка"
+    },
+    {
+      "word": "малыш",
+      "hint": "ребенок"
+    },
+    {
+      "word": "облик",
+      "hint": "вид"
+    },
+    {
+      "word": "копия",
+      "hint": "ксерокс"
+    },
+    {
+      "word": "устав",
+      "hint": "закон"
+    },
+    {
+      "word": "уголь",
+      "hint": "анрацит"
+    },
+    {
+      "word": "чашка",
+      "hint": "блюдце"
+    },
+    {
+      "word": "судно",
+      "hint": "корабль"
+    },
+    {
+      "word": "элита",
+      "hint": "верхи"
+    },
+    {
+      "word": "почта",
+      "hint": "телефон и телеграф"
+    },
+    {
+      "word": "ветвь",
+      "hint": "побег"
+    },
+    {
+      "word": "палка",
+      "hint": "булава"
+    },
+    {
+      "word": "столб",
+      "hint": "дерево"
+    },
+    {
+      "word": "актив",
+      "hint": "пассив"
+    },
+    {
+      "word": "ангел",
+      "hint": "серафим"
+    },
+    {
+      "word": "штраф",
+      "hint": "наказание"
+    },
+    {
+      "word": "отель",
+      "hint": "гостиница"
+    },
+    {
+      "word": "ножка",
+      "hint": "стула"
+    },
+    {
+      "word": "мышка",
+      "hint": "норушка"
+    },
+    {
+      "word": "стать",
+      "hint": "осанка"
+    },
+    {
+      "word": "свеча",
+      "hint": "канделябр"
+    },
+    {
+      "word": "грань",
+      "hint": "ребро"
+    },
+    {
+      "word": "блюдо",
+      "hint": "тарелка"
+    },
+    {
+      "word": "скала",
+      "hint": "отвесная"
+    },
+    {
+      "word": "такси",
+      "hint": "на Дубровку"
+    },
+    {
+      "word": "зерно",
+      "hint": "пшеница"
+    },
+    {
+      "word": "форум",
+      "hint": "обсуждение"
+    },
+    {
+      "word": "сосна",
+      "hint": "хвоя"
+    },
+    {
+      "word": "папка",
+      "hint": "досье"
+    },
+    {
+      "word": "блеск",
+      "hint": "сияние"
+    },
+    {
+      "word": "степь",
+      "hint": "ковыль"
+    },
+    {
+      "word": "пламя",
+      "hint": "огонь"
+    },
+    {
+      "word": "ковер",
+      "hint": "персидский"
+    },
+    {
+      "word": "треть",
+      "hint": "часть"
+    },
+    {
+      "word": "певец",
+      "hint": "тенор"
+    },
+    {
+      "word": "ружье",
+      "hint": "винтовка"
+    },
+    {
+      "word": "речка",
+      "hint": "ручей"
+    },
+    {
+      "word": "финал",
+      "hint": "конец"
+    },
+    {
+      "word": "недра",
+      "hint": "глубина"
+    },
+    {
+      "word": "знамя",
+      "hint": "флаг"
+    },
+    {
+      "word": "девка",
+      "hint": "пацан"
+    },
+    {
+      "word": "рюмка",
+      "hint": "фужер"
+    },
+    {
+      "word": "аудио",
+      "hint": "звук"
+    },
+    {
+      "word": "исход",
+      "hint": "эмиграция"
+    },
+    {
+      "word": "звено",
+      "hint": "цепь"
+    },
+    {
+      "word": "грипп",
+      "hint": "ангина"
+    },
+    {
+      "word": "шепот",
+      "hint": "крик"
+    },
+    {
+      "word": "печка",
+      "hint": "доммк"
+    },
+    {
+      "word": "плоть",
+      "hint": "мясо"
+    },
+    {
+      "word": "пилот",
+      "hint": "штурвал"
+    },
+    {
+      "word": "череп",
+      "hint": "голова"
+    },
+    {
+      "word": "самец",
+      "hint": "альфа"
+    },
+    {
+      "word": "гараж",
+      "hint": "автопарковка"
+    },
+    {
+      "word": "бочка",
+      "hint": "Гвидон"
+    },
+    {
+      "word": "сосуд",
+      "hint": "емкость"
+    },
+    {
+      "word": "склон",
+      "hint": "скат"
+    },
+    {
+      "word": "поэма",
+      "hint": "стих"
+    },
+    {
+      "word": "лавка",
+      "hint": "магазин"
+    },
+    {
+      "word": "кисть",
+      "hint": "картина"
+    },
+    {
+      "word": "бокал",
+      "hint": "фужер"
+    },
+    {
+      "word": "койка",
+      "hint": "кровать"
+    },
+    {
+      "word": "идиот",
+      "hint": "безумный"
+    },
+    {
+      "word": "якорь",
+      "hint": "корабль"
+    },
+    {
+      "word": "дрова",
+      "hint": "валежник"
+    },
+    {
+      "word": "учеба",
+      "hint": "школа"
+    },
+    {
+      "word": "опора",
+      "hint": "защита"
+    },
+    {
+      "word": "ворот",
+      "hint": "шея"
+    },
+    {
+      "word": "физик",
+      "hint": "Ландау"
+    },
+    {
+      "word": "топор",
+      "hint": "тесак"
+    },
+    {
+      "word": "барон",
+      "hint": "граф"
+    },
+    {
+      "word": "кукла",
+      "hint": "игрушка"
+    },
+    {
+      "word": "барак",
+      "hint": "казарма"
+    },
+    {
+      "word": "носок",
+      "hint": "стопа"
+    },
+    {
+      "word": "жених",
+      "hint": "невеста"
+    },
+    {
+      "word": "обувь",
+      "hint": "туфли"
+    },
+    {
+      "word": "намек",
+      "hint": "знак"
+    },
+    {
+      "word": "принц",
+      "hint": "король"
+    },
+    {
+      "word": "котел",
+      "hint": "окружение"
+    },
+    {
+      "word": "пушка",
+      "hint": "мортира"
+    },
+    {
+      "word": "бедро",
+      "hint": "ляжка"
+    },
+    {
+      "word": "сетка",
+      "hint": "рабица"
+    },
+    {
+      "word": "порыв",
+      "hint": "горячность"
+    },
+    {
+      "word": "сарай",
+      "hint": "амбар"
+    },
+    {
+      "word": "опрос",
+      "hint": "анкетирование"
+    },
+    {
+      "word": "шкура",
+      "hint": "дубленка"
+    },
+    {
+      "word": "старт",
+      "hint": "начало"
+    },
+    {
+      "word": "драка",
+      "hint": "борьба"
+    },
+    {
+      "word": "проба",
+      "hint": "испытание"
+    },
+    {
+      "word": "мусор",
+      "hint": "негодное"
+    },
+    {
+      "word": "казак",
+      "hint": "лихой"
+    },
+    {
+      "word": "химия",
+      "hint": "завивка"
+    },
+    {
+      "word": "туфля",
+      "hint": "ботинок"
+    },
+    {
+      "word": "самка",
+      "hint": "крольчиха"
+    },
+    {
+      "word": "моряк",
+      "hint": "Врунгель"
+    },
+    {
+      "word": "племя",
+      "hint": "колено"
+    },
+    {
+      "word": "мадам",
+      "hint": "женщина"
+    },
+    {
+      "word": "кубок",
+      "hint": "сосуд"
+    },
+    {
+      "word": "ягода",
+      "hint": "плод"
+    },
+    {
+      "word": "монах",
+      "hint": "инок"
+    },
+    {
+      "word": "битва",
+      "hint": "бой"
+    },
+    {
+      "word": "побег",
+      "hint": "эмиграция"
+    },
+    {
+      "word": "дырка",
+      "hint": "отверстие"
+    },
+    {
+      "word": "грамм",
+      "hint": "весы"
+    },
+    {
+      "word": "драма",
+      "hint": "комедия"
+    },
+    {
+      "word": "базар",
+      "hint": "рынок"
+    },
+    {
+      "word": "отбор",
+      "hint": "селекция"
+    },
+    {
+      "word": "спирт",
+      "hint": "водка"
+    },
+    {
+      "word": "кузов",
+      "hint": "грузовик"
+    },
+    {
+      "word": "ванна",
+      "hint": "душ"
+    },
+    {
+      "word": "рыбак",
+      "hint": "шхуна"
+    },
+    {
+      "word": "канон",
+      "hint": "устав"
+    },
+    {
+      "word": "ребро",
+      "hint": "грань"
+    },
+    {
+      "word": "фрукт",
+      "hint": "плод"
+    },
+    {
+      "word": "вдова",
+      "hint": "Клико"
+    },
+    {
+      "word": "казнь",
+      "hint": "смерть"
+    },
+    {
+      "word": "весть",
+      "hint": "информация"
+    },
+    {
+      "word": "балет",
+      "hint": "опера"
+    },
+    {
+      "word": "ручей",
+      "hint": "река"
+    },
+    {
+      "word": "пение",
+      "hint": "трель"
+    },
+    {
+      "word": "навык",
+      "hint": "опытность"
+    },
+    {
+      "word": "взвод",
+      "hint": "рота"
+    },
+    {
+      "word": "щенок",
+      "hint": "собака"
+    },
+    {
+      "word": "касса",
+      "hint": "билет"
+    },
+    {
+      "word": "юрист",
+      "hint": "законник"
+    },
+    {
+      "word": "вздох",
+      "hint": "сожаление"
+    },
+    {
+      "word": "шахта",
+      "hint": "угольная"
+    },
+    {
+      "word": "шпион",
+      "hint": "соглядатай"
+    },
+    {
+      "word": "тираж",
+      "hint": "количество"
+    },
+    {
+      "word": "букет",
+      "hint": "цветов"
+    },
+    {
+      "word": "тезис",
+      "hint": "идея"
+    },
+    {
+      "word": "жилец",
+      "hint": "житель"
+    },
+    {
+      "word": "струя",
+      "hint": "поток"
+    },
+    {
+      "word": "залог",
+      "hint": "заклад"
+    },
+    {
+      "word": "очерк",
+      "hint": "набросок"
+    },
+    {
+      "word": "сдача",
+      "hint": "возврат"
+    },
+    {
+      "word": "жажда",
+      "hint": "пить"
+    },
+    {
+      "word": "буфет",
+      "hint": "столовая"
+    },
+    {
+      "word": "рояль",
+      "hint": "пианино"
+    },
+    {
+      "word": "нитка",
+      "hint": "иголка"
+    },
+    {
+      "word": "суета",
+      "hint": "поспешность"
+    },
+    {
+      "word": "пацан",
+      "hint": "юноша"
+    },
+    {
+      "word": "тайга",
+      "hint": "пуща"
+    },
+    {
+      "word": "наряд",
+      "hint": "одеяние"
+    },
+    {
+      "word": "козел",
+      "hint": "баран"
+    },
+    {
+      "word": "петля",
+      "hint": "удавка"
+    },
+    {
+      "word": "пласт",
+      "hint": "слой"
+    },
+    {
+      "word": "обман",
+      "hint": "надувательство"
+    },
+    {
+      "word": "шарик",
+      "hint": "кубик"
+    },
+    {
+      "word": "рычаг",
+      "hint": "Архимед"
+    },
+    {
+      "word": "злоба",
+      "hint": "вражда"
+    },
+    {
+      "word": "песня",
+      "hint": "пляска"
+    },
+    {
+      "word": "стадо",
+      "hint": "гурт"
+    },
+    {
+      "word": "глина",
+      "hint": "керамика"
+    },
+    {
+      "word": "закат",
+      "hint": "восход"
+    },
+    {
+      "word": "выезд",
+      "hint": "прогулка"
+    },
+    {
+      "word": "обзор",
+      "hint": "событий"
+    },
+    {
+      "word": "висок",
+      "hint": "седина"
+    },
+    {
+      "word": "погон",
+      "hint": "шеврон"
+    },
+    {
+      "word": "искра",
+      "hint": "впполох"
+    },
+    {
+      "word": "завет",
+      "hint": "наказ"
+    },
+    {
+      "word": "слуга",
+      "hint": "подчиненный"
+    },
+    {
+      "word": "взнос",
+      "hint": "вклад"
+    },
+    {
+      "word": "сынок",
+      "hint": "доченька"
+    },
+    {
+      "word": "культ",
+      "hint": "почитание"
+    },
+    {
+      "word": "крыса",
+      "hint": "мышь"
+    },
+    {
+      "word": "чайка",
+      "hint": "баклан"
+    },
+    {
+      "word": "спуск",
+      "hint": "подъем"
+    },
+    {
+      "word": "довод",
+      "hint": "доказательство"
+    },
+    {
+      "word": "обыск",
+      "hint": "досмотр"
+    },
+    {
+      "word": "грунт",
+      "hint": "земля"
+    },
+    {
+      "word": "отзыв",
+      "hint": "критика"
+    },
+    {
+      "word": "купол",
+      "hint": "вершина"
+    },
+    {
+      "word": "заряд",
+      "hint": "пороховой"
+    },
+    {
+      "word": "позор",
+      "hint": "стыд"
+    },
+    {
+      "word": "катер",
+      "hint": "корабль"
+    },
+    {
+      "word": "вопль",
+      "hint": "жалоба"
+    },
+    {
+      "word": "цыган",
+      "hint": "Будулай"
+    },
+    {
+      "word": "тупик",
+      "hint": "безысходность"
+    },
+    {
+      "word": "поляк",
+      "hint": "пшек"
+    },
+    {
+      "word": "обряд",
+      "hint": "традиция"
+    },
+    {
+      "word": "минус",
+      "hint": "вычитание"
+    },
+    {
+      "word": "алмаз",
+      "hint": "графит"
+    },
+    {
+      "word": "тропа",
+      "hint": "дорога"
+    },
+    {
+      "word": "рельс",
+      "hint": "шпала"
+    },
+    {
+      "word": "ферма",
+      "hint": "агрокомплекс"
+    },
+    {
+      "word": "дилер",
+      "hint": "продавец"
+    },
+    {
+      "word": "табак",
+      "hint": "курение"
+    },
+    {
+      "word": "сталь",
+      "hint": "железо"
+    },
+    {
+      "word": "пирог",
+      "hint": "расстегай"
+    },
+    {
+      "word": "горка",
+      "hint": "спуск"
+    },
+    {
+      "word": "тварь",
+      "hint": "существо"
+    },
+    {
+      "word": "почка",
+      "hint": "бутон"
+    },
+    {
+      "word": "испуг",
+      "hint": "боязнь"
+    },
+    {
+      "word": "залив",
+      "hint": "бухта"
+    },
+    {
+      "word": "фокус",
+      "hint": "штука"
+    },
+    {
+      "word": "петух",
+      "hint": "курица"
+    },
+    {
+      "word": "вилка",
+      "hint": "ложка"
+    },
+    {
+      "word": "аллея",
+      "hint": "бульвар"
+    },
+    {
+      "word": "показ",
+      "hint": "выставка"
+    },
+    {
+      "word": "овраг",
+      "hint": "углубление"
+    },
+    {
+      "word": "русло",
+      "hint": "река"
+    },
+    {
+      "word": "полюс",
+      "hint": "экватор"
+    },
+    {
+      "word": "гроза",
+      "hint": "буря"
+    },
+    {
+      "word": "олень",
+      "hint": "пыжик"
+    },
+    {
+      "word": "будка",
+      "hint": "домик"
+    },
+    {
+      "word": "трусы",
+      "hint": "плавки"
+    },
+    {
+      "word": "рыбка",
+      "hint": "окунек"
+    },
+    {
+      "word": "рубка",
+      "hint": "корабль"
+    },
+    {
+      "word": "салат",
+      "hint": "оливье"
+    },
+    {
+      "word": "хохот",
+      "hint": "смех"
+    },
+    {
+      "word": "обрыв",
+      "hint": "скала"
+    },
+    {
+      "word": "борец",
+      "hint": "самбо"
+    },
+    {
+      "word": "банда",
+      "hint": "шайка"
+    },
+    {
+      "word": "стенд",
+      "hint": "стойка"
+    },
+    {
+      "word": "пират",
+      "hint": "разбойник"
+    },
+    {
+      "word": "перец",
+      "hint": "паприка"
+    },
+    {
+      "word": "парус",
+      "hint": "стаксель"
+    },
+    {
+      "word": "майка",
+      "hint": "футболка"
+    },
+    {
+      "word": "комар",
+      "hint": "гнус"
+    },
+    {
+      "word": "ислам",
+      "hint": "мечеть"
+    },
+    {
+      "word": "упрек",
+      "hint": "выговор"
+    },
+    {
+      "word": "хутор",
+      "hint": "деревня"
+    },
+    {
+      "word": "налет",
+      "hint": "рейд"
+    },
+    {
+      "word": "исток",
+      "hint": "начало"
+    },
+    {
+      "word": "биржа",
+      "hint": "рынок"
+    },
+    {
+      "word": "фасад",
+      "hint": "морда"
+    },
+    {
+      "word": "турок",
+      "hint": "басурман"
+    },
+    {
+      "word": "пытка",
+      "hint": "допрос"
+    },
+    {
+      "word": "истец",
+      "hint": "ответчик"
+    },
+    {
+      "word": "этика",
+      "hint": "культура"
+    },
+    {
+      "word": "обком",
+      "hint": "руководство"
+    },
+    {
+      "word": "виски",
+      "hint": "шнапс"
+    },
+    {
+      "word": "сеанс",
+      "hint": "присест"
+    },
+    {
+      "word": "новье",
+      "hint": "старье"
+    },
+    {
+      "word": "влага",
+      "hint": "вода"
+    },
+    {
+      "word": "палач",
+      "hint": "кат"
+    },
+    {
+      "word": "мэрия",
+      "hint": "муниципалитет"
+    },
+    {
+      "word": "треск",
+      "hint": "хруст"
+    },
+    {
+      "word": "клоун",
+      "hint": "шут"
+    },
+    {
+      "word": "ссора",
+      "hint": "свара"
+    },
+    {
+      "word": "сплав",
+      "hint": "силумин"
+    },
+    {
+      "word": "башка",
+      "hint": "голова"
+    },
+    {
+      "word": "медик",
+      "hint": "врач"
+    },
+    {
+      "word": "шкала",
+      "hint": "масштаб"
+    },
+    {
+      "word": "скука",
+      "hint": "тоска"
+    },
+    {
+      "word": "насос",
+      "hint": "накачиватель"
+    },
+    {
+      "word": "титул",
+      "hint": "надпись"
+    },
+    {
+      "word": "ласка",
+      "hint": "нежность"
+    },
+    {
+      "word": "имидж",
+      "hint": "образ"
+    },
+    {
+      "word": "арена",
+      "hint": "поприще"
+    },
+    {
+      "word": "киоск",
+      "hint": "будка"
+    },
+    {
+      "word": "повар",
+      "hint": "шеф"
+    },
+    {
+      "word": "парта",
+      "hint": "стол"
+    },
+    {
+      "word": "пучок",
+      "hint": "свзка"
+    },
+    {
+      "word": "парад",
+      "hint": "шествие"
+    },
+    {
+      "word": "затея",
+      "hint": "предприятие"
+    },
+    {
+      "word": "пятка",
+      "hint": "Ахиллес"
+    },
+    {
+      "word": "газон",
+      "hint": "трава"
+    },
+    {
+      "word": "синяк",
+      "hint": "фингал"
+    },
+    {
+      "word": "крона",
+      "hint": "вершина"
+    },
+    {
+      "word": "рывок",
+      "hint": "ускорение"
+    },
+    {
+      "word": "штурм",
+      "hint": "взятие"
+    },
+    {
+      "word": "седло",
+      "hint": "сбруя"
+    },
+    {
+      "word": "порок",
+      "hint": "недостаток"
+    },
+    {
+      "word": "пепел",
+      "hint": "зола"
+    },
+    {
+      "word": "взлет",
+      "hint": "подъем"
+    },
+    {
+      "word": "проем",
+      "hint": "проход"
+    },
+    {
+      "word": "сдвиг",
+      "hint": "смещение"
+    },
+    {
+      "word": "купец",
+      "hint": "торговец"
+    },
+    {
+      "word": "кишка",
+      "hint": "двенадцатиперстная"
+    },
+    {
+      "word": "каюта",
+      "hint": "кубрик"
+    },
+    {
+      "word": "дрожь",
+      "hint": "озноб"
+    },
+    {
+      "word": "штора",
+      "hint": "портьера"
+    },
+    {
+      "word": "бремя",
+      "hint": "багаж"
+    },
+    {
+      "word": "пафос",
+      "hint": "торжественность"
+    },
+    {
+      "word": "нищий",
+      "hint": "бедный"
+    },
+    {
+      "word": "миска",
+      "hint": "плошка"
+    },
+    {
+      "word": "кепка",
+      "hint": "фуражка"
+    },
+    {
+      "word": "чулок",
+      "hint": "колготки"
+    },
+    {
+      "word": "месть",
+      "hint": "вендетта"
+    },
+    {
+      "word": "манеж",
+      "hint": "арена"
+    },
+    {
+      "word": "конек",
+      "hint": "фигурист"
+    },
+    {
+      "word": "багаж",
+      "hint": "вещи"
+    },
+    {
+      "word": "свист",
+      "hint": "вранье"
+    },
+    {
+      "word": "садик",
+      "hint": "огородик"
+    },
+    {
+      "word": "кумир",
+      "hint": "почитаемый"
+    },
+    {
+      "word": "дрянь",
+      "hint": "негодное"
+    },
+    {
+      "word": "пасть",
+      "hint": "спускаться"
+    },
+    {
+      "word": "квота",
+      "hint": "доля"
+    },
+    {
+      "word": "гудок",
+      "hint": "свисток"
+    },
+    {
+      "word": "геном",
+      "hint": "ДНК"
+    },
+    {
+      "word": "азарт",
+      "hint": "воодушевление"
+    },
+    {
+      "word": "стопа",
+      "hint": "ступня"
+    },
+    {
+      "word": "лимон",
+      "hint": "цитрус"
+    },
+    {
+      "word": "слюна",
+      "hint": "плевок"
+    },
+    {
+      "word": "ролик",
+      "hint": "короткометражка"
+    },
+    {
+      "word": "обход",
+      "hint": "объезд"
+    },
+    {
+      "word": "белка",
+      "hint": "мысь"
+    },
+    {
+      "word": "оклад",
+      "hint": "зарплата"
+    },
+    {
+      "word": "бетон",
+      "hint": "цемент"
+    },
+    {
+      "word": "пульт",
+      "hint": "клавиатура"
+    },
+    {
+      "word": "камин",
+      "hint": "очаг"
+    },
+    {
+      "word": "мерка",
+      "hint": "эталон"
+    },
+    {
+      "word": "гамма",
+      "hint": "до мажор"
+    },
+    {
+      "word": "родня",
+      "hint": "семья"
+    },
+    {
+      "word": "груда",
+      "hint": "куча"
+    },
+    {
+      "word": "вахта",
+      "hint": "смена"
+    },
+    {
+      "word": "афиша",
+      "hint": "анонс"
+    },
+    {
+      "word": "штамп",
+      "hint": "печать"
+    },
+    {
+      "word": "шорох",
+      "hint": "шелест"
+    },
+    {
+      "word": "особа",
+      "hint": "человек"
+    },
+    {
+      "word": "донос",
+      "hint": "извет"
+    },
+    {
+      "word": "брюхо",
+      "hint": "живот"
+    },
+    {
+      "word": "бланк",
+      "hint": "формуляр"
+    },
+    {
+      "word": "тесто",
+      "hint": "сдоба"
+    },
+    {
+      "word": "талия",
+      "hint": "стан"
+    },
+    {
+      "word": "скрип",
+      "hint": "скрежет"
+    },
+    {
+      "word": "магия",
+      "hint": "волшебство"
+    },
+    {
+      "word": "демон",
+      "hint": "бес"
+    },
+    {
+      "word": "груша",
+      "hint": "дюшес"
+    },
+    {
+      "word": "сквер",
+      "hint": "сад"
+    },
+    {
+      "word": "ларек",
+      "hint": "киоск"
+    },
+    {
+      "word": "вышка",
+      "hint": "башня"
+    },
+    {
+      "word": "лапка",
+      "hint": "коготок"
+    },
+    {
+      "word": "вилла",
+      "hint": "особняк"
+    },
+    {
+      "word": "скула",
+      "hint": "щека"
+    },
+    {
+      "word": "пчела",
+      "hint": "трутень"
+    },
+    {
+      "word": "кучка",
+      "hint": "могучая"
+    },
+    {
+      "word": "франк",
+      "hint": "луидор"
+    },
+    {
+      "word": "пасха",
+      "hint": "Великдень"
+    },
+    {
+      "word": "абзац",
+      "hint": "параграф"
+    },
+    {
+      "word": "напор",
+      "hint": "натиск"
+    },
+    {
+      "word": "бугор",
+      "hint": "холм"
+    },
+    {
+      "word": "копье",
+      "hint": "гарпун"
+    },
+    {
+      "word": "казна",
+      "hint": "сокровищница"
+    },
+    {
+      "word": "щетка",
+      "hint": "веник"
+    },
+    {
+      "word": "червь",
+      "hint": "глист"
+    },
+    {
+      "word": "кубик",
+      "hint": "шарик"
+    },
+    {
+      "word": "зачет",
+      "hint": "экзамен"
+    },
+    {
+      "word": "весло",
+      "hint": "лодка"
+    },
+    {
+      "word": "балка",
+      "hint": "бревно"
+    },
+    {
+      "word": "досуг",
+      "hint": "хобби"
+    },
+    {
+      "word": "чутье",
+      "hint": "нюх"
+    },
+    {
+      "word": "вихрь",
+      "hint": "торнадо"
+    },
+    {
+      "word": "шашка",
+      "hint": "сабля"
+    },
+    {
+      "word": "нюанс",
+      "hint": "особенность"
+    },
+    {
+      "word": "косяк",
+      "hint": "лажа"
+    },
+    {
+      "word": "венец",
+      "hint": "корона"
+    },
+    {
+      "word": "чудак",
+      "hint": "оригинал"
+    },
+    {
+      "word": "шишка",
+      "hint": "припухлость"
+    },
+    {
+      "word": "пульс",
+      "hint": "ритм"
+    },
+    {
+      "word": "корма",
+      "hint": "задница"
+    },
+    {
+      "word": "глубь",
+      "hint": "бездна"
+    },
+    {
+      "word": "вылет",
+      "hint": "отправление"
+    },
+    {
+      "word": "въезд",
+      "hint": "ворота"
+    },
+    {
+      "word": "свита",
+      "hint": "сопровождение"
+    },
+    {
+      "word": "приют",
+      "hint": "убежище"
+    },
+    {
+      "word": "отсек",
+      "hint": "отделение"
+    },
+    {
+      "word": "акула",
+      "hint": "зубастая"
+    },
+    {
+      "word": "шланг",
+      "hint": "рукав"
+    },
+    {
+      "word": "факел",
+      "hint": "пламя"
+    },
+    {
+      "word": "лилия",
+      "hint": "полили ли"
+    },
+    {
+      "word": "кража",
+      "hint": "воовство"
+    },
+    {
+      "word": "корка",
+      "hint": "мякиш"
+    },
+    {
+      "word": "диета",
+      "hint": "рацион"
+    },
+    {
+      "word": "венок",
+      "hint": "гирлянда"
+    },
+    {
+      "word": "арбуз",
+      "hint": "бахча"
+    },
+    {
+      "word": "рубин",
+      "hint": "яхонт"
+    },
+    {
+      "word": "канат",
+      "hint": "трос"
+    },
+    {
+      "word": "дуэль",
+      "hint": "поединок"
+    },
+    {
+      "word": "холст",
+      "hint": "полотно"
+    },
+    {
+      "word": "баран",
+      "hint": "тупица"
+    },
+    {
+      "word": "рация",
+      "hint": "приемопередатчик"
+    },
+    {
+      "word": "мафия",
+      "hint": "клан"
+    },
+    {
+      "word": "колея",
+      "hint": "путь"
+    },
+    {
+      "word": "робот",
+      "hint": "дроид"
+    },
+    {
+      "word": "комок",
+      "hint": "сгусток"
+    },
+    {
+      "word": "износ",
+      "hint": "амортизация"
+    },
+    {
+      "word": "будни",
+      "hint": "обыденность"
+    },
+    {
+      "word": "грант",
+      "hint": "финансирование"
+    },
+    {
+      "word": "эскиз",
+      "hint": "очерк"
+    },
+    {
+      "word": "фланг",
+      "hint": "край"
+    },
+    {
+      "word": "рифма",
+      "hint": "консонанс"
+    },
+    {
+      "word": "изгиб",
+      "hint": "излучина"
+    },
+    {
+      "word": "глыба",
+      "hint": "скала"
+    },
+    {
+      "word": "аллах",
+      "hint": "божество"
+    },
+    {
+      "word": "химик",
+      "hint": "Менделеев"
+    },
+    {
+      "word": "финиш",
+      "hint": "конец"
+    },
+    {
+      "word": "тачка",
+      "hint": "тележка"
+    },
+    {
+      "word": "нутро",
+      "hint": "брюхо"
+    },
+    {
+      "word": "манер",
+      "hint": "способ"
+    },
+    {
+      "word": "бухта",
+      "hint": "залив"
+    },
+    {
+      "word": "чукча",
+      "hint": "эскимос"
+    },
+    {
+      "word": "черед",
+      "hint": "смена"
+    },
+    {
+      "word": "сокол",
+      "hint": "орел"
+    },
+    {
+      "word": "вальс",
+      "hint": "Штраус"
+    },
+    {
+      "word": "салют",
+      "hint": "фейерверк"
+    },
+    {
+      "word": "каска",
+      "hint": "шлем"
+    },
+    {
+      "word": "возня",
+      "hint": "суета"
+    },
+    {
+      "word": "броня",
+      "hint": "защита"
+    },
+    {
+      "word": "толща",
+      "hint": "глубина"
+    },
+    {
+      "word": "почет",
+      "hint": "уважение"
+    },
+    {
+      "word": "подол",
+      "hint": "низ"
+    },
+    {
+      "word": "опека",
+      "hint": "забота"
+    },
+    {
+      "word": "макет",
+      "hint": "образец"
+    },
+    {
+      "word": "девиз",
+      "hint": "слоган"
+    },
+    {
+      "word": "дебют",
+      "hint": "начало"
+    },
+    {
+      "word": "говно",
+      "hint": "дерьмо"
+    },
+    {
+      "word": "баржа",
+      "hint": "лихтер"
+    },
+    {
+      "word": "церка",
+      "hint": "усик"
+    },
+    {
+      "word": "рента",
+      "hint": "доход"
+    },
+    {
+      "word": "вывоз",
+      "hint": "экспорт"
+    },
+    {
+      "word": "шприц",
+      "hint": "иньектор"
+    },
+    {
+      "word": "уклон",
+      "hint": "спуск"
+    },
+    {
+      "word": "отрыв",
+      "hint": "опережение"
+    },
+    {
+      "word": "каток",
+      "hint": "коньки"
+    },
+    {
+      "word": "тесть",
+      "hint": "отец жены"
+    },
+    {
+      "word": "отбой",
+      "hint": "отмена"
+    },
+    {
+      "word": "особь",
+      "hint": "единица"
+    },
+    {
+      "word": "недуг",
+      "hint": "болезнь"
+    },
+    {
+      "word": "кофта",
+      "hint": "свитер"
+    },
+    {
+      "word": "жулик",
+      "hint": "плут"
+    },
+    {
+      "word": "веник",
+      "hint": "метла"
+    },
+    {
+      "word": "трест",
+      "hint": "корпорация"
+    },
+    {
+      "word": "сироп",
+      "hint": "сладость"
+    },
+    {
+      "word": "ощупь",
+      "hint": "тактильность"
+    },
+    {
+      "word": "навоз",
+      "hint": "органика"
+    },
+    {
+      "word": "мячик",
+      "hint": "Танечка"
+    },
+    {
+      "word": "богач",
+      "hint": "магнат"
+    },
+    {
+      "word": "сыщик",
+      "hint": "детектив"
+    },
+    {
+      "word": "смола",
+      "hint": "гудрон"
+    },
+    {
+      "word": "капот",
+      "hint": "крышка"
+    },
+    {
+      "word": "дымок",
+      "hint": "огонек"
+    },
+    {
+      "word": "донор",
+      "hint": "жертвователь"
+    },
+    {
+      "word": "вишня",
+      "hint": "шпанка"
+    },
+    {
+      "word": "видео",
+      "hint": "клип"
+    },
+    {
+      "word": "будда",
+      "hint": "божество"
+    },
+    {
+      "word": "сопка",
+      "hint": "холм"
+    },
+    {
+      "word": "отвод",
+      "hint": "ответвление"
+    },
+    {
+      "word": "заход",
+      "hint": "закат"
+    },
+    {
+      "word": "выкуп",
+      "hint": "плата"
+    },
+    {
+      "word": "барин",
+      "hint": "господин"
+    },
+    {
+      "word": "устье",
+      "hint": "дельта"
+    },
+    {
+      "word": "посев",
+      "hint": "семена"
+    },
+    {
+      "word": "матка",
+      "hint": "пчела"
+    },
+    {
+      "word": "лунка",
+      "hint": "биллиард"
+    },
+    {
+      "word": "зенит",
+      "hint": "апогей"
+    },
+    {
+      "word": "житие",
+      "hint": "существование"
+    },
+    {
+      "word": "банан",
+      "hint": "обезьяна"
+    },
+    {
+      "word": "пресс",
+      "hint": "нажим"
+    },
+    {
+      "word": "парик",
+      "hint": "волосы"
+    },
+    {
+      "word": "навес",
+      "hint": "укрытие"
+    },
+    {
+      "word": "канун",
+      "hint": "преддверие"
+    },
+    {
+      "word": "шторм",
+      "hint": "буря"
+    },
+    {
+      "word": "уклад",
+      "hint": "закон"
+    },
+    {
+      "word": "ссуда",
+      "hint": "заем"
+    },
+    {
+      "word": "сабля",
+      "hint": "шашка"
+    },
+    {
+      "word": "откос",
+      "hint": "обрыв"
+    },
+    {
+      "word": "ордер",
+      "hint": "приказ"
+    },
+    {
+      "word": "жилка",
+      "hint": "леска"
+    },
+    {
+      "word": "аванс",
+      "hint": "задаток"
+    },
+    {
+      "word": "пешка",
+      "hint": "ничтожество"
+    },
+    {
+      "word": "шасси",
+      "hint": "опора"
+
+    },
+    {
+      "word": "узник",
+      "hint": "заключенный"
+    },
+    {
+      "word": "тракт",
+      "hint": "дорога"
+    },
+    {
+      "word": "отход",
+      "hint": "бегство"
+    },
+    {
+      "word": "этнос",
+      "hint": "народ"
+    },
+    {
+      "word": "улика",
+      "hint": "доказательство"
+    },
+    {
+      "word": "полис",
+      "hint": "договор"
+    },
+    {
+      "word": "мираж",
+      "hint": "призрак"
+    },
+    {
+      "word": "крупа",
+      "hint": "манка"
+    },
+    {
+      "word": "дробь",
+      "hint": "часть"
+    },
+    {
+      "word": "талон",
+      "hint": "билет"
+    },
+    {
+      "word": "руины",
+      "hint": "развалины"
+    },
+    {
+      "word": "метла",
+      "hint": "веник"
+    },
+    {
+      "word": "забой",
+      "hint": "шахта"
+    },
+    {
+      "word": "губка",
+      "hint": "мочалка"
+    },
+    {
+      "word": "сенат",
+      "hint": "дума"
+    },
+    {
+      "word": "секта",
+      "hint": "общество"
+    },
+    {
+      "word": "сауна",
+      "hint": "баня"
+    },
+    {
+      "word": "лоток",
+      "hint": "желоб"
+    },
+    {
+      "word": "шакал",
+      "hint": "Табаки"
+    },
+    {
+      "word": "тахта",
+      "hint": "диван"
+    },
+    {
+      "word": "прядь",
+      "hint": "кудря"
+    },
+    {
+      "word": "порох",
+      "hint": "пироксилин"
+    },
+    {
+      "word": "мачта",
+      "hint": "дерево"
+    },
+    {
+      "word": "шрифт",
+      "hint": "гарнитура"
+    },
+    {
+      "word": "раунд",
+      "hint": "заезд"
+    },
+    {
+      "word": "лимит",
+      "hint": "предел"
+    },
+    {
+      "word": "завал",
+      "hint": "нагромождение"
+    },
+    {
+      "word": "горох",
+      "hint": "фасоль"
+    },
+    {
+      "word": "филин",
+      "hint": "сова"
+    },
+    {
+      "word": "сукно",
+      "hint": "фланель"
+    },
+    {
+      "word": "страж",
+      "hint": "привратник"
+    },
+    {
+      "word": "паста",
+      "hint": "крем"
+    },
+    {
+      "word": "заезд",
+      "hint": "раунд"
+    },
+    {
+      "word": "дымка",
+      "hint": "ореол"
+    },
+    {
+      "word": "топот",
+      "hint": "чечетка"
+    },
+    {
+      "word": "топик",
+      "hint": "майка"
+    },
+    {
+      "word": "синод",
+      "hint": "собрание епископов"
+    },
+    {
+      "word": "озноб",
+      "hint": "дрожь"
+    },
+    {
+      "word": "молот",
+      "hint": "киянка"
+    },
+    {
+      "word": "гетто",
+      "hint": "резервация"
+    },
+    {
+      "word": "чехол",
+      "hint": "оболочка"
+    },
+    {
+      "word": "хруст",
+      "hint": "стук"
+    },
+    {
+      "word": "фотка",
+      "hint": "портрет"
+    },
+    {
+      "word": "кабак",
+      "hint": "трактир"
+    },
+    {
+      "word": "загар",
+      "hint": "меланин"
+    },
+    {
+      "word": "греза",
+      "hint": "мечта"
+    },
+    {
+      "word": "графа",
+      "hint": "раздел"
+    },
+    {
+      "word": "гладь",
+      "hint": "тишь"
+    },
+    {
+      "word": "бренд",
+      "hint": "марка"
+    },
+    {
+      "word": "уксус",
+      "hint": "перекисшее вино"
+    },
+    {
+      "word": "ничья",
+      "hint": "результат"
+    },
+    {
+      "word": "нажим",
+      "hint": "давление"
+    },
+    {
+      "word": "линза",
+      "hint": "лупа"
+    },
+    {
+      "word": "леший",
+      "hint": "бродит"
+    },
+    {
+      "word": "иудей",
+      "hint": "еврей"
+    },
+    {
+      "word": "выпад",
+      "hint": "критика"
+    },
+    {
+      "word": "взмах",
+      "hint": "удар"
+    },
+    {
+      "word": "валун",
+      "hint": "камень"
+    },
+    {
+      "word": "байка",
+      "hint": "сказка"
+    },
+    {
+      "word": "штрих",
+      "hint": "пунктир"
+    },
+    {
+      "word": "хорек",
+      "hint": "суслик"
+    },
+    {
+      "word": "порча",
+      "hint": "вред"
+    },
+    {
+      "word": "носик",
+      "hint": "хвостик"
+    },
+    {
+      "word": "наезд",
+      "hint": "обида"
+    },
+    {
+      "word": "мойка",
+      "hint": "чистка"
+    },
+    {
+      "word": "коран",
+      "hint": "писание"
+    },
+    {
+      "word": "кивок",
+      "hint": "поддакивание"
+    },
+    {
+      "word": "кефир",
+      "hint": "айран"
+    },
+    {
+      "word": "вожак",
+      "hint": "водитель"
+    },
+    {
+      "word": "бычок",
+      "hint": "смоляной бочок"
+    },
+    {
+      "word": "брэнд",
+      "hint": "марка"
+    },
+    {
+      "word": "брань",
+      "hint": "ругань"
+    },
+    {
+      "word": "белый",
+      "hint": "белоснежный"
+    },
+    {
+      "word": "трата",
+      "hint": "расход"
+    },
+    {
+      "word": "сосок",
+      "hint": "ниппель"
+    },
+    {
+      "word": "мятеж",
+      "hint": "беспорядки"
+    },
+    {
+      "word": "лавра",
+      "hint": "монастырь"
+    },
+    {
+      "word": "виток",
+      "hint": "оборот"
+    },
+    {
+      "word": "бутик",
+      "hint": "киоск"
+    },
+    {
+      "word": "атлас",
+      "hint": "карты"
+    },
+    {
+      "word": "устой",
+      "hint": "традиция"
+    },
+    {
+      "word": "созыв",
+      "hint": "собрание"
+    },
+    {
+      "word": "нотка",
+      "hint": "интонация"
+    },
+    {
+      "word": "булат",
+      "hint": "сталь"
+    },
+    {
+      "word": "шпага",
+      "hint": "рапира"
+    },
+    {
+      "word": "шейка",
+      "hint": "бедра"
+    },
+    {
+      "word": "фишка",
+      "hint": "изюминка"
+    },
+    {
+      "word": "рыжик",
+      "hint": "гриб"
+    },
+    {
+      "word": "мякиш",
+      "hint": "корочка"
+    },
+    {
+      "word": "дозор",
+      "hint": "разведка"
+    },
+    {
+      "word": "вычет",
+      "hint": "удержание"
+    },
+    {
+      "word": "ворох",
+      "hint": "груда"
+    },
+    {
+      "word": "яичко",
+      "hint": "курочка"
+    },
+    {
+      "word": "щепка",
+      "hint": "лучина"
+    },
+    {
+      "word": "шорты",
+      "hint": "коротко о брюках"
+    },
+    {
+      "word": "слива",
+      "hint": "венгерка"
+    },
+    {
+      "word": "разок",
+      "hint": "ну ещё один"
+    },
+    {
+      "word": "отчим",
+      "hint": "отец"
+    },
+    {
+      "word": "лопух",
+      "hint": "тупой"
+    },
+    {
+      "word": "кудри",
+      "hint": "каракуль"
+    },
+    {
+      "word": "смута",
+      "hint": "беспорядки"
+    },
+    {
+      "word": "пудра",
+      "hint": "сахарная"
+    },
+    {
+      "word": "помин",
+      "hint": "память"
+    },
+    {
+      "word": "полог",
+      "hint": "зёанавес"
+    },
+    {
+      "word": "мытье",
+      "hint": "катание"
+    },
+    {
+      "word": "ловля",
+      "hint": "рыбалка"
+    },
+    {
+      "word": "шпана",
+      "hint": "хулиганье"
+    },
+    {
+      "word": "ширма",
+      "hint": "загородка"
+    },
+    {
+      "word": "шатер",
+      "hint": "табор"
+    },
+    {
+      "word": "шаман",
+      "hint": "колдун"
+    },
+    {
+      "word": "шалаш",
+      "hint": "разлив"
+    },
+    {
+      "word": "чугун",
+      "hint": "чушка"
+    },
+    {
+      "word": "флора",
+      "hint": "растительность"
+    },
+    {
+      "word": "пурга",
+      "hint": "вьюга"
+    },
+    {
+      "word": "немка",
+      "hint": "прусачка"
+    },
+    {
+      "word": "наган",
+      "hint": "револьвер"
+    },
+    {
+      "word": "лакей",
+      "hint": "прислужник"
+    },
+    {
+      "word": "кочка",
+      "hint": "болото"
+    },
+    {
+      "word": "камыш",
+      "hint": "шумел"
+    },
+    {
+      "word": "кабан",
+      "hint": "вепрь"
+    },
+    {
+      "word": "запой",
+      "hint": "пьянство"
+    },
+    {
+      "word": "дубль",
+      "hint": "повтор"
+    },
+    {
+      "word": "денек",
+      "hint": "жаркий"
+    },
+    {
+      "word": "грива",
+      "hint": "волосы"
+    },
+    {
+      "word": "галка",
+      "hint": "на заборе"
+    },
+    {
+      "word": "врата",
+      "hint": "калитка"
+    },
+    {
+      "word": "ворон",
+      "hint": "вьется"
+    },
+    {
+      "word": "батон",
+      "hint": "булка"
+    },
+    {
+      "word": "акциз",
+      "hint": "налог"
+    },
+    {
+      "word": "шайка",
+      "hint": "банда"
+    },
+    {
+      "word": "топка",
+      "hint": "печка"
+    },
+    {
+      "word": "тенор",
+      "hint": "баритон"
+    },
+    {
+      "word": "счеты",
+      "hint": "бухгалтер"
+    },
+    {
+      "word": "смета",
+      "hint": "план"
+    },
+    {
+      "word": "резон",
+      "hint": "аргумент"
+    },
+    {
+      "word": "отпор",
+      "hint": "сопротивление"
+    },
+    {
+      "word": "осина",
+      "hint": "кол"
+    },
+    {
+      "word": "милая",
+      "hint": "любимая"
+    },
+    {
+      "word": "метан",
+      "hint": "газоповод"
+    },
+    {
+      "word": "комод",
+      "hint": "тумба"
+    },
+    {
+      "word": "гряда",
+      "hint": "хребет"
+    },
+    {
+      "word": "гайка",
+      "hint": "болт"
+    },
+    {
+      "word": "вздор",
+      "hint": "дичь"
+    },
+    {
+      "word": "альфа",
+      "hint": "самец"
+    },
+    {
+      "word": "рожок",
+      "hint": "рогалик"
+    },
+    {
+      "word": "курок",
+      "hint": "ружьё"
+    },
+    {
+      "word": "досье",
+      "hint": "папка"
+    },
+    {
+      "word": "гусар",
+      "hint": "воин"
+    },
+    {
+      "word": "чрево",
+      "hint": "брюхо"
+    },
+    {
+      "word": "фанат",
+      "hint": "приспешник"
+    },
+    {
+      "word": "тыква",
+      "hint": "хеллоуин"
+    },
+    {
+      "word": "питье",
+      "hint": "наливка"
+    },
+    {
+      "word": "охват",
+      "hint": "талия"
+    },
+    {
+      "word": "масть",
+      "hint": "окрас"
+    },
+    {
+      "word": "лицей",
+      "hint": "царскосельский"
+    },
+    {
+      "word": "жилет",
+      "hint": "без рукавов"
+    },
+    {
+      "word": "древо",
+      "hint": "генеалогическое"
+    },
+    {
+      "word": "выдох",
+      "hint": "вдох"
+    },
+    {
+      "word": "часик",
+      "hint": "60 минуток"
+    },
+    {
+      "word": "фауна",
+      "hint": "животные"
+    },
+    {
+      "word": "титан",
+      "hint": "Кронос"
+    },
+    {
+      "word": "санки",
+      "hint": "горка"
+    },
+    {
+      "word": "ореол",
+      "hint": "нимб"
+    },
+    {
+      "word": "мушка",
+      "hint": "шпанская"
+    },
+    {
+      "word": "детка",
+      "hint": "гладиолуса"
+    },
+    {
+      "word": "вотум",
+      "hint": "недоверия"
+    },
+    {
+      "word": "амбар",
+      "hint": "сарай"
+    },
+    {
+      "word": "шайба",
+      "hint": "хоккей"
+    },
+    {
+      "word": "хобби",
+      "hint": "увлечение"
+    },
+    {
+      "word": "танго",
+      "hint": "Кумпарсита"
+    },
+    {
+      "word": "сапер",
+      "hint": "миноискатель"
+    },
+    {
+      "word": "лапша",
+      "hint": "вермишель"
+    },
+    {
+      "word": "лазер",
+      "hint": "котодразнилка"
+    },
+    {
+      "word": "конус",
+      "hint": "колпак"
+    },
+    {
+      "word": "варяг",
+      "hint": "не сдаётся"
+    },
+    {
+      "word": "булка",
+      "hint": "с маком"
+    },
+    {
+      "word": "берет",
+      "hint": "головной убор"
+    },
+    {
+      "word": "алкаш",
+      "hint": "пьяница"
+    },
+    {
+      "word": "тиран",
+      "hint": "жестокий"
+    },
+    {
+      "word": "сушка",
+      "hint": "баранка"
+    },
+    {
+      "word": "келья",
+      "hint": "каморка"
+    },
+    {
+      "word": "флюид",
+      "hint": "увлажнитель"
+    },
+    {
+      "word": "укроп",
+      "hint": "зонтичный"
+    },
+    {
+      "word": "сотка",
+      "hint": "ар"
+    },
+    {
+      "word": "смотр",
+      "hint": "испытание"
+    },
+    {
+      "word": "окрик",
+      "hint": "зов"
+    },
+    {
+      "word": "обвал",
+      "hint": "падение"
+    },
+    {
+      "word": "запор",
+      "hint": "не понос"
+    },
+    {
+      "word": "догма",
+      "hint": "аксиома"
+    },
+    {
+      "word": "бутон",
+      "hint": "нераскрывшийся"
+    },
+    {
+      "word": "фужер",
+      "hint": "бокал"
+    },
+    {
+      "word": "умник",
+      "hint": "зануда"
+    },
+    {
+      "word": "тумба",
+      "hint": "комод"
+    },
+    {
+      "word": "томик",
+      "hint": "Пушкина"
+    },
+    {
+      "word": "ересь",
+      "hint": "альтернативщина"
+    },
+    {
+      "word": "днище",
+      "hint": "корабль"
+    },
+    {
+      "word": "гольф",
+      "hint": "клюшка"
+    },
+    {
+      "word": "главк",
+      "hint": "начальство"
+    },
+    {
+      "word": "эмаль",
+      "hint": "краска"
+    },
+    {
+      "word": "шпиль",
+      "hint": "купол"
+    },
+    {
+      "word": "чужак",
+      "hint": "незнакомец"
+    },
+    {
+      "word": "хмель",
+      "hint": "пиво"
+    },
+    {
+      "word": "фигня",
+      "hint": "ерунда"
+    },
+    {
+      "word": "пинок",
+      "hint": "мотивирующий"
+    },
+    {
+      "word": "паром",
+      "hint": "переправа"
+    },
+    {
+      "word": "отрок",
+      "hint": "юноша"
+    },
+    {
+      "word": "мания",
+      "hint": "величия"
+    },
+    {
+      "word": "лютик",
+      "hint": "сорняк"
+    },
+    {
+      "word": "казах",
+      "hint": "алмаатинец"
+    },
+    {
+      "word": "изъян",
+      "hint": "недостаток"
+    },
+    {
+      "word": "иврит",
+      "hint": "не идиш"
+    },
+    {
+      "word": "эгида",
+      "hint": "шкура Амалфеи"
+    },
+    {
+      "word": "уступ",
+      "hint": "полка"
+    },
+    {
+      "word": "тонус",
+      "hint": "напрядение"
+    },
+    {
+      "word": "сучок",
+      "hint": "задоринка"
+    },
+    {
+      "word": "рулон",
+      "hint": "обои"
+    },
+    {
+      "word": "оксид",
+      "hint": "ржавична"
+    },
+    {
+      "word": "норка",
+      "hint": "шуба"
+    },
+    {
+      "word": "ножик",
+      "hint": "перочинный"
+    },
+    {
+      "word": "ладья",
+      "hint": "шахматы"
+    },
+    {
+      "word": "краса",
+      "hint": "прелесть"
+    },
+    {
+      "word": "калий",
+      "hint": "щелочной элемент"
+    },
+    {
+      "word": "житье",
+      "hint": "бытье"
+    },
+    {
+      "word": "горец",
+      "hint": "абрек"
+    },
+    {
+      "word": "глушь",
+      "hint": "захолустье"
+    },
+    {
+      "word": "вырез",
+      "hint": "декольте"
+    },
+    {
+      "word": "блоха",
+      "hint": "Левша"
+    },
+    {
+      "word": "ярлык",
+      "hint": "бирка"
+    },
+    {
+      "word": "узбек",
+      "hint": "хлопкороб"
+    },
+    {
+      "word": "торец",
+      "hint": "край"
+    },
+    {
+      "word": "потоп",
+      "hint": "наводнение"
+    },
+    {
+      "word": "пайка",
+      "hint": "порция"
+    },
+    {
+      "word": "обрез",
+      "hint": "короткоствол"
+    },
+    {
+      "word": "накал",
+      "hint": "напряжение"
+    },
+    {
+      "word": "кучер",
+      "hint": "возница"
+    },
+    {
+      "word": "вожжа",
+      "hint": "упряжь"
+    },
+    {
+      "word": "чешуя",
+      "hint": "рыбья шкура"
+    },
+    {
+      "word": "пупок",
+      "hint": "развяжется"
+    },
+    {
+      "word": "пенек",
+      "hint": "не садись на"
+    },
+    {
+      "word": "пашня",
+      "hint": "поле"
+    },
+    {
+      "word": "отлет",
+      "hint": "убытие"
+    },
+    {
+      "word": "отвар",
+      "hint": "настой"
+    },
+    {
+      "word": "ослик",
+      "hint": "иа"
+    },
+    {
+      "word": "кроха",
+      "hint": "малышка"
+    },
+    {
+      "word": "клерк",
+      "hint": "бюрократ"
+    },
+    {
+      "word": "газик",
+      "hint": "трехтонка"
+    },
+    {
+      "word": "волхв",
+      "hint": "кудесник"
+    },
+    {
+      "word": "буран",
+      "hint": "пурга"
+    },
+    {
+      "word": "шпала",
+      "hint": "под рельсой"
+    },
+    {
+      "word": "тулуп",
+      "hint": "шуба"
+    },
+    {
+      "word": "томат",
+      "hint": "помидор"
+    },
+    {
+      "word": "тезка",
+      "hint": "однофамилец"
+    },
+    {
+      "word": "склеп",
+      "hint": "могила"
+    },
+    {
+      "word": "рознь",
+      "hint": "вражда"
+    },
+    {
+      "word": "посох",
+      "hint": "палка"
     }
   ]
 }

+ 3599 - 102
data/word-bank.json

@@ -5968,504 +5968,4001 @@
   ],
   "targets": [
     {
-      "id": 1,
+      "word": "their",
+      "hint": "such"
+    },
+    {
       "word": "which",
       "hint": "that"
     },
     {
-      "id": 2,
       "word": "about",
       "hint": "around"
     },
     {
-      "id": 3,
+      "word": "after",
+      "hint": "aft"
+    },
+    {
+      "word": "first",
+      "hint": "basic"
+    },
+    {
       "word": "would",
       "hint": "could"
     },
     {
-      "id": 4,
       "word": "there",
       "hint": "present"
     },
     {
-      "id": 5,
       "word": "other",
       "hint": "different"
     },
     {
-      "id": 6,
       "word": "years",
       "hint": "decade"
     },
     {
-      "id": 7,
+      "word": "could",
+      "hint": "how"
+    },
+    {
       "word": "where",
       "hint": "location"
     },
     {
-      "id": 8,
       "word": "these",
       "hint": "those"
     },
     {
-      "id": 9,
       "word": "three",
       "hint": "trio"
     },
     {
-      "id": 10,
       "word": "while",
       "hint": "during"
     },
     {
-      "id": 11,
       "word": "being",
       "hint": "living"
     },
     {
-      "id": 12,
       "word": "state",
       "hint": "condition"
     },
     {
-      "id": 13,
       "word": "those",
       "hint": "these"
     },
     {
-      "id": 14,
       "word": "still",
       "hint": "quiet"
     },
     {
-      "id": 15,
+      "word": "world",
+      "hint": "nature"
+    },
+    {
       "word": "going",
       "hint": "moving"
     },
     {
-      "id": 16,
       "word": "later",
       "hint": "after"
     },
     {
-      "id": 17,
       "word": "since",
       "hint": "because"
     },
     {
-      "id": 18,
       "word": "think",
       "hint": "mean"
     },
     {
-      "id": 19,
       "word": "under",
       "hint": "low"
     },
     {
-      "id": 20,
       "word": "right",
       "hint": "exact"
     },
     {
-      "id": 21,
+      "word": "until",
+      "hint": "ago"
+    },
+    {
       "word": "great",
       "hint": "big"
     },
     {
-      "id": 22,
+      "word": "never",
+      "hint": "not ever"
+    },
+    {
       "word": "every",
       "hint": "each"
     },
     {
-      "id": 23,
+      "word": "place",
+      "hint": "home"
+    },
+    {
       "word": "early",
       "hint": "past"
     },
     {
-      "id": 24,
       "word": "house",
       "hint": "home"
     },
     {
-      "id": 25,
       "word": "games",
       "hint": "sport"
     },
     {
-      "id": 26,
+      "word": "again",
+      "hint": "repeat"
+    },
+    {
       "word": "group",
       "hint": "type"
     },
     {
-      "id": 27,
       "word": "known",
       "hint": "noted"
     },
     {
-      "id": 28,
       "word": "money",
       "hint": "cash"
     },
     {
-      "id": 29,
       "word": "times",
       "hint": "hour"
     },
     {
-      "id": 30,
       "word": "found",
       "hint": "located"
     },
     {
-      "id": 31,
       "word": "point",
       "hint": "item"
     },
     {
-      "id": 32,
+      "word": "thats",
+      "hint": "lol"
+    },
+    {
       "word": "often",
       "hint": "frequent"
     },
     {
-      "id": 33,
       "word": "south",
       "hint": "southern"
     },
     {
-      "id": 34,
       "word": "power",
       "hint": "might"
     },
     {
-      "id": 35,
       "word": "local",
       "hint": "nearby"
     },
     {
-      "id": 36,
       "word": "didnt",
       "hint": "did not"
     },
     {
-      "id": 37,
       "word": "small",
       "hint": "little"
     },
     {
-      "id": 38,
       "word": "north",
       "hint": "northern"
     },
     {
-      "id": 39,
       "word": "third",
       "hint": "tertiary"
     },
     {
-      "id": 40,
       "word": "music",
       "hint": "song"
     },
     {
-      "id": 41,
+      "word": "along",
+      "hint": "on"
+    },
+    {
+      "word": "night",
+      "hint": "nox"
+    },
+    {
       "word": "might",
       "hint": "can"
     },
     {
-      "id": 42,
       "word": "party",
       "hint": "group"
     },
     {
-      "id": 43,
       "word": "began",
       "hint": "started"
     },
     {
-      "id": 44,
+      "word": "water",
+      "hint": "sweat"
+    },
+    {
+      "word": "major",
+      "hint": "great"
+    },
+    {
+      "word": "large",
+      "hint": "vast"
+    },
+    {
       "word": "among",
       "hint": "between"
     },
     {
-      "id": 45,
+      "word": "start",
+      "hint": "get"
+    },
+    {
       "word": "young",
       "hint": "youth"
     },
     {
-      "id": 46,
       "word": "final",
       "hint": "last"
     },
     {
-      "id": 47,
       "word": "given",
       "hint": "provided"
     },
     {
-      "id": 48,
       "word": "using",
       "hint": "employ"
     },
     {
-      "id": 49,
       "word": "field",
       "hint": "area"
     },
     {
-      "id": 50,
       "word": "today",
       "hint": "now"
     },
     {
-      "id": 51,
       "word": "death",
       "hint": "end"
     },
     {
-      "id": 52,
       "word": "least",
       "hint": "fewest"
     },
     {
-      "id": 53,
+      "word": "order",
+      "hint": "put"
+    },
+    {
       "word": "teams",
       "hint": "squad"
     },
     {
-      "id": 54,
+      "word": "coach",
+      "hint": "jitney"
+    },
+    {
       "word": "thing",
       "hint": "object"
     },
     {
-      "id": 55,
+      "word": "court",
+      "hint": "woo"
+    },
+    {
       "word": "white",
       "hint": "pale"
     },
     {
-      "id": 56,
       "word": "based",
       "hint": "basis"
     },
     {
-      "id": 57,
       "word": "story",
       "hint": "tale"
     },
     {
-      "id": 58,
+      "word": "board",
+      "hint": "room"
+    },
+    {
       "word": "march",
       "hint": "parade"
     },
     {
-      "id": 59,
+      "word": "doing",
+      "hint": "bring"
+    },
+    {
       "word": "black",
       "hint": "dark"
     },
     {
-      "id": 60,
+      "word": "obama",
+      "hint": "oluo"
+    },
+    {
+      "word": "taken",
+      "hint": "stolen"
+    },
+    {
       "word": "close",
       "hint": "end"
     },
     {
-      "id": 61,
       "word": "named",
       "hint": "called"
     },
     {
-      "id": 62,
       "word": "level",
       "hint": "flat"
     },
     {
-      "id": 63,
       "word": "built",
       "hint": "constructed"
     },
     {
-      "id": 64,
       "word": "makes",
       "hint": "build"
     },
     {
-      "id": 65,
       "word": "moved",
       "hint": "shifted"
     },
     {
-      "id": 66,
+      "word": "april",
+      "hint": "apr"
+    },
+    {
+      "word": "class",
+      "hint": "sort"
+    },
+    {
+      "word": "women",
+      "hint": "gals"
+    },
+    {
       "word": "month",
       "hint": "april"
     },
     {
-      "id": 67,
       "word": "added",
       "hint": "extra"
     },
     {
-      "id": 68,
       "word": "needs",
       "hint": "requires"
     },
     {
-      "id": 69,
       "word": "short",
       "hint": "brief"
     },
     {
-      "id": 70,
+      "word": "force",
+      "hint": "push"
+    },
+    {
       "word": "front",
       "hint": "forward"
     },
     {
-      "id": 71,
+      "word": "weeks",
+      "hint": "joo"
+    },
+    {
+      "word": "asked",
+      "hint": "advised"
+    },
+    {
       "word": "river",
       "hint": "stream"
     },
     {
-      "id": 72,
       "word": "seven",
       "hint": "seventh"
     },
     {
-      "id": 73,
+      "word": "means",
+      "hint": "way"
+    },
+    {
       "word": "works",
       "hint": "plant"
     },
     {
-      "id": 74,
       "word": "title",
       "hint": "name"
     },
     {
-      "id": 75,
       "word": "comes",
       "hint": "arrives"
     },
     {
-      "id": 76,
+      "word": "youre",
+      "hint": "you"
+    },
+    {
       "word": "hours",
       "hint": "time"
     },
     {
-      "id": 77,
+      "word": "issue",
+      "hint": "take"
+    },
+    {
+      "word": "areas",
+      "hint": "orbit"
+    },
+    {
+      "word": "total",
+      "hint": "sum"
+    },
+    {
+      "word": "media",
+      "hint": "tape"
+    },
+    {
+      "word": "human",
+      "hint": "homo"
+    },
+    {
       "word": "eight",
       "hint": "eighth"
     },
     {
-      "id": 78,
+      "word": "yards",
+      "hint": "g"
+    },
+    {
       "word": "event",
       "hint": "case"
     },
     {
-      "id": 79,
+      "word": "shows",
+      "hint": "demo"
+    },
+    {
+      "word": "space",
+      "hint": "quad"
+    },
+    {
+      "word": "price",
+      "hint": "cost"
+    },
+    {
+      "word": "takes",
+      "hint": "get"
+    },
+    {
       "word": "green",
       "hint": "color"
     },
     {
-      "id": 80,
       "word": "seems",
       "hint": "look"
     },
     {
-      "id": 81,
+      "word": "drive",
+      "hint": "get"
+    },
+    {
       "word": "light",
       "hint": "sunlit"
     },
     {
-      "id": 82,
+      "word": "album",
+      "hint": "essay"
+    },
+    {
+      "word": "whole",
+      "hint": "entire"
+    },
+    {
+      "word": "wasnt",
+      "hint": "noti"
+    },
+    {
+      "word": "fight",
+      "hint": "push"
+    },
+    {
+      "word": "staff",
+      "hint": "rod"
+    },
+    {
       "word": "round",
       "hint": "circular"
     },
     {
-      "id": 83,
       "word": "plans",
       "hint": "design"
     },
     {
-      "id": 84,
+      "word": "chief",
+      "hint": "boss"
+    },
+    {
       "word": "david",
       "hint": "giant"
     },
     {
-      "id": 85,
+      "word": "bring",
+      "hint": "get"
+    },
+    {
       "word": "above",
       "hint": "top"
     },
     {
-      "id": 86,
+      "word": "child",
+      "hint": "boy"
+    },
+    {
       "word": "leave",
       "hint": "quit"
     },
     {
-      "id": 87,
+      "word": "james",
+      "hint": "chim"
+    },
+    {
+      "word": "press",
+      "hint": "push"
+    },
+    {
       "word": "union",
       "hint": "group"
     },
     {
-      "id": 88,
+      "word": "spent",
+      "hint": "tired"
+    },
+    {
+      "word": "woman",
+      "hint": "gal"
+    },
+    {
+      "word": "clear",
+      "hint": "limpid"
+    },
+    {
+      "word": "video",
+      "hint": "tv"
+    },
+    {
+      "word": "match",
+      "hint": "mate"
+    },
+    {
+      "word": "wrote",
+      "hint": "did"
+    },
+    {
       "word": "sales",
       "hint": "retail"
     },
     {
-      "id": 89,
       "word": "lives",
       "hint": "exists"
     },
     {
-      "id": 90,
+      "word": "quite",
+      "hint": "too"
+    },
+    {
       "word": "radio",
       "hint": "broadcast"
     },
     {
-      "id": 91,
       "word": "lower",
       "hint": "less"
     },
     {
-      "id": 92,
+      "word": "whose",
+      "hint": "and"
+    },
+    {
+      "word": "share",
+      "hint": "deal"
+    },
+    {
+      "word": "track",
+      "hint": "path"
+    },
+    {
+      "word": "china",
+      "hint": "prc"
+    },
+    {
+      "word": "study",
+      "hint": "read"
+    },
+    {
+      "word": "below",
+      "hint": "under"
+    },
+    {
+      "word": "trade",
+      "hint": "sell"
+    },
+    {
+      "word": "wants",
+      "hint": "wish"
+    },
+    {
+      "word": "maybe",
+      "hint": "could"
+    },
+    {
+      "word": "stage",
+      "hint": "phase"
+    },
+    {
       "word": "books",
       "hint": "record"
     },
     {
-      "id": 93,
+      "word": "offer",
+      "hint": "pass"
+    },
+    {
+      "word": "sense",
+      "hint": "feel"
+    },
+    {
+      "word": "value",
+      "hint": "rate"
+    },
+    {
+      "word": "movie",
+      "hint": "film"
+    },
+    {
+      "word": "range",
+      "hint": "rove"
+    },
+    {
+      "word": "cases",
+      "hint": "type"
+    },
+    {
+      "word": "tried",
+      "hint": "proven"
+    },
+    {
       "word": "words",
       "hint": "phrase"
     },
     {
-      "id": 94,
       "word": "model",
       "hint": "design"
     },
     {
-      "id": 95,
+      "word": "miles",
+      "hint": "knot"
+    },
+    {
+      "word": "heart",
+      "hint": "eye"
+    },
+    {
+      "word": "plays",
+      "hint": "fun"
+    },
+    {
       "word": "ended",
       "hint": "over"
     },
     {
-      "id": 96,
+      "word": "allow",
+      "hint": "admit"
+    },
+    {
+      "word": "brown",
+      "hint": "tan"
+    },
+    {
       "word": "terms",
       "hint": "words"
     },
     {
-      "id": 97,
+      "word": "texas",
+      "hint": "tex"
+    },
+    {
+      "word": "style",
+      "hint": "way"
+    },
+    {
+      "word": "costs",
+      "hint": "be"
+    },
+    {
+      "word": "india",
+      "hint": "inde"
+    },
+    {
+      "word": "watch",
+      "hint": "scout"
+    },
+    {
+      "word": "break",
+      "hint": "burst"
+    },
+    {
+      "word": "heard",
+      "hint": "read"
+    },
+    {
+      "word": "girls",
+      "hint": "miss"
+    },
+    {
+      "word": "sound",
+      "hint": "good"
+    },
+    {
+      "word": "visit",
+      "hint": "see"
+    },
+    {
+      "word": "phone",
+      "hint": "call"
+    },
+    {
+      "word": "smith",
+      "hint": "doe"
+    },
+    {
+      "word": "cause",
+      "hint": "do"
+    },
+    {
+      "word": "goals",
+      "hint": "end"
+    },
+    {
+      "word": "parts",
+      "hint": "piece"
+    },
+    {
+      "word": "build",
+      "hint": "make"
+    },
+    {
+      "word": "wrong",
+      "hint": "false"
+    },
+    {
+      "word": "store",
+      "hint": "shop"
+    },
+    {
+      "word": "hands",
+      "hint": "men"
+    },
+    {
       "word": "score",
       "hint": "points"
     },
     {
-      "id": 98,
+      "word": "block",
+      "hint": "bar"
+    },
+    {
+      "word": "legal",
+      "hint": "jural"
+    },
+    {
       "word": "ready",
       "hint": "prepared"
     },
     {
-      "id": 99,
+      "word": "speed",
+      "hint": "hie"
+    },
+    {
+      "word": "focus",
+      "hint": "pore"
+    },
+    {
+      "word": "looks",
+      "hint": "see"
+    },
+    {
+      "word": "banks",
+      "hint": "rely"
+    },
+    {
+      "word": "award",
+      "hint": "grant"
+    },
+    {
+      "word": "cover",
+      "hint": "shroud"
+    },
+    {
+      "word": "calls",
+      "hint": "phone"
+    },
+    {
+      "word": "older",
+      "hint": "big"
+    },
+    {
+      "word": "stock",
+      "hint": "fund"
+    },
+    {
+      "word": "learn",
+      "hint": "con"
+    },
+    {
+      "word": "happy",
+      "hint": "glad"
+    },
+    {
+      "word": "lines",
+      "hint": "draw"
+    },
+    {
+      "word": "songs",
+      "hint": "call"
+    },
+    {
+      "word": "rules",
+      "hint": "decree"
+    },
+    {
       "word": "grand",
       "hint": "large"
     },
     {
-      "id": 100,
-      "word": "steve",
-      "hint": "stephen"
+      "word": "gives",
+      "hint": "gift"
+    },
+    {
+      "word": "route",
+      "hint": "way"
+    },
+    {
+      "word": "scene",
+      "hint": "fit"
+    },
+    {
+      "word": "worth",
+      "hint": "merit"
+    },
+    {
+      "word": "ahead",
+      "hint": "up"
+    },
+    {
+      "word": "alone",
+      "hint": "only"
+    },
+    {
+      "word": "earth",
+      "hint": "land"
+    },
+    {
+      "word": "civil",
+      "hint": "civic"
+    },
+    {
+      "word": "shown",
+      "hint": "been"
+    },
+    {
+      "word": "coast",
+      "hint": "strand"
+    },
+    {
+      "word": "stand",
+      "hint": "brook"
+    },
+    {
+      "word": "reach",
+      "hint": "pass"
+    },
+    {
+      "word": "knows",
+      "hint": "wise"
+    },
+    {
+      "word": "daily",
+      "hint": "regular"
+    },
+    {
+      "word": "guard",
+      "hint": "ward"
+    },
+    {
+      "word": "tells",
+      "hint": "say"
+    },
+    {
+      "word": "royal",
+      "hint": "regal"
+    },
+    {
+      "word": "homes",
+      "hint": "house"
+    },
+    {
+      "word": "lived",
+      "hint": "viva"
+    },
+    {
+      "word": "funds",
+      "hint": "cash"
+    },
+    {
+      "word": "begin",
+      "hint": "get"
+    },
+    {
+      "word": "jones",
+      "hint": "bryn"
+    },
+    {
+      "word": "tough",
+      "hint": "hard"
+    },
+    {
+      "word": "blood",
+      "hint": "rip"
+    },
+    {
+      "word": "names",
+      "hint": "appoint"
+    },
+    {
+      "word": "serve",
+      "hint": "help"
+    },
+    {
+      "word": "beach",
+      "hint": "shore"
+    },
+    {
+      "word": "paper",
+      "hint": "ink"
+    },
+    {
+      "word": "japan",
+      "hint": "nihon"
+    },
+    {
+      "word": "voice",
+      "hint": "part"
+    },
+    {
+      "word": "prime",
+      "hint": "fine"
+    },
+    {
+      "word": "fifth",
+      "hint": "5th"
+    },
+    {
+      "word": "chris",
+      "hint": "pablo"
+    },
+    {
+      "word": "heavy",
+      "hint": "big"
+    },
+    {
+      "word": "whats",
+      "hint": "lol"
+    },
+    {
+      "word": "floor",
+      "hint": "deck"
+    },
+    {
+      "word": "noted",
+      "hint": "known"
+    },
+    {
+      "word": "spend",
+      "hint": "pass"
+    },
+    {
+      "word": "plant",
+      "hint": "set"
+    },
+    {
+      "word": "cross",
+      "hint": "foil"
+    },
+    {
+      "word": "peace",
+      "hint": "repose"
+    },
+    {
+      "word": "units",
+      "hint": "whole"
+    },
+    {
+      "word": "judge",
+      "hint": "label"
+    },
+    {
+      "word": "check",
+      "hint": "curb"
+    },
+    {
+      "word": "rates",
+      "hint": "rank"
+    },
+    {
+      "word": "twice",
+      "hint": "two"
+    },
+    {
+      "word": "films",
+      "hint": "movie"
+    },
+    {
+      "word": "users",
+      "hint": "enjoyer"
+    },
+    {
+      "word": "extra",
+      "hint": "excess"
+    },
+    {
+      "word": "owner",
+      "hint": "property"
+    },
+    {
+      "word": "apple",
+      "hint": "tree"
+    },
+    {
+      "word": "mayor",
+      "hint": "alcalde"
+    },
+    {
+      "word": "arent",
+      "hint": "land"
+    },
+    {
+      "word": "super",
+      "hint": "big"
+    },
+    {
+      "word": "hotel",
+      "hint": "inn"
+    },
+    {
+      "word": "youth",
+      "hint": "young"
+    },
+    {
+      "word": "prior",
+      "hint": "prev"
+    },
+    {
+      "word": "crime",
+      "hint": "felon"
+    },
+    {
+      "word": "table",
+      "hint": "mesa"
+    },
+    {
+      "word": "piece",
+      "hint": "part"
+    },
+    {
+      "word": "train",
+      "hint": "aim"
+    },
+    {
+      "word": "basis",
+      "hint": "base"
+    },
+    {
+      "word": "agree",
+      "hint": "fit"
+    },
+    {
+      "word": "claim",
+      "hint": "take"
+    },
+    {
+      "word": "dance",
+      "hint": "moves"
+    },
+    {
+      "word": "avoid",
+      "hint": "avert"
+    },
+    {
+      "word": "image",
+      "hint": "trope"
+    },
+    {
+      "word": "write",
+      "hint": "pen"
+    },
+    {
+      "word": "peter",
+      "hint": "dick"
+    },
+    {
+      "word": "basic",
+      "hint": "first"
+    },
+    {
+      "word": "taxes",
+      "hint": "task"
+    },
+    {
+      "word": "broke",
+      "hint": "got"
+    },
+    {
+      "word": "trial",
+      "hint": "run"
+    },
+    {
+      "word": "speak",
+      "hint": "say"
+    },
+    {
+      "word": "items",
+      "hint": "point"
+    },
+    {
+      "word": "scott",
+      "hint": "ian"
+    },
+    {
+      "word": "steve",
+      "hint": "stephen"
+    },
+    {
+      "word": "owned",
+      "hint": "assumed"
+    },
+    {
+      "word": "carry",
+      "hint": "run"
+    },
+    {
+      "word": "raise",
+      "hint": "promote"
+    },
+    {
+      "word": "truth",
+      "hint": "true"
+    },
+    {
+      "word": "sites",
+      "hint": "place"
+    },
+    {
+      "word": "crowd",
+      "hint": "push"
+    },
+    {
+      "word": "henry",
+      "hint": "h"
+    },
+    {
+      "word": "forms",
+      "hint": "build"
+    },
+    {
+      "word": "draft",
+      "hint": "swig"
+    },
+    {
+      "word": "email",
+      "hint": "url"
+    },
+    {
+      "word": "stars",
+      "hint": "lead"
+    },
+    {
+      "word": "stuff",
+      "hint": "lug"
+    },
+    {
+      "word": "ideas",
+      "hint": "mind"
+    },
+    {
+      "word": "meant",
+      "hint": "been"
+    },
+    {
+      "word": "trust",
+      "hint": "rely"
+    },
+    {
+      "word": "sport",
+      "hint": "play"
+    },
+    {
+      "word": "types",
+      "hint": "case"
+    },
+    {
+      "word": "fully",
+      "hint": "full"
+    },
+    {
+      "word": "worst",
+      "hint": "pip"
+    },
+    {
+      "word": "sides",
+      "hint": "by"
+    },
+    {
+      "word": "cards",
+      "hint": "pass"
+    },
+    {
+      "word": "storm",
+      "hint": "ramp"
+    },
+    {
+      "word": "color",
+      "hint": "gloss"
+    },
+    {
+      "word": "minor",
+      "hint": "small"
+    },
+    {
+      "word": "labor",
+      "hint": "task"
+    },
+    {
+      "word": "throw",
+      "hint": "hurl"
+    },
+    {
+      "word": "novel",
+      "hint": "new"
+    },
+    {
+      "word": "shots",
+      "hint": "slam"
+    },
+    {
+      "word": "turns",
+      "hint": "bend"
+    },
+    {
+      "word": "worse",
+      "hint": "less"
+    },
+    {
+      "word": "hasnt"
+    },
+    {
+      "word": "hopes",
+      "hint": "aims"
+    },
+    {
+      "word": "clubs",
+      "hint": "nine"
+    },
+    {
+      "word": "youve",
+      "hint": "got"
+    },
+    {
+      "word": "stone",
+      "hint": "gem"
+    },
+    {
+      "word": "quick",
+      "hint": "spry"
+    },
+    {
+      "word": "notes",
+      "hint": "remark"
+    },
+    {
+      "word": "votes",
+      "hint": "ballot"
+    },
+    {
+      "word": "sixth",
+      "hint": "6th"
+    },
+    {
+      "word": "louis",
+      "hint": "luis"
+    },
+    {
+      "word": "count",
+      "hint": "weigh"
+    },
+    {
+      "word": "solid",
+      "hint": "plain"
+    },
+    {
+      "word": "enjoy",
+      "hint": "love"
+    },
+    {
+      "word": "davis",
+      "hint": "floyd"
+    },
+    {
+      "word": "falls",
+      "hint": "low"
+    },
+    {
+      "word": "finds",
+      "hint": "get"
+    },
+    {
+      "word": "ships",
+      "hint": "send"
+    },
+    {
+      "word": "youll",
+      "hint": "you"
+    },
+    {
+      "word": "agent",
+      "hint": "proxy"
+    },
+    {
+      "word": "roman",
+      "hint": "papist"
+    },
+    {
+      "word": "bands",
+      "hint": "set"
+    },
+    {
+      "word": "catch",
+      "hint": "get"
+    },
+    {
+      "word": "paris",
+      "hint": "rouen"
+    },
+    {
+      "word": "irish",
+      "hint": "erse"
+    },
+    {
+      "word": "leads",
+      "hint": "pb"
+    },
+    {
+      "word": "voted",
+      "hint": "cast"
+    },
+    {
+      "word": "clean",
+      "hint": "pure"
+    },
+    {
+      "word": "debut",
+      "hint": "entry"
+    },
+    {
+      "word": "metal",
+      "hint": "gold"
+    },
+    {
+      "word": "signs",
+      "hint": "ratify"
+    },
+    {
+      "word": "upper",
+      "hint": "top"
+    },
+    {
+      "word": "trees",
+      "hint": "canes"
+    },
+    {
+      "word": "honor",
+      "hint": "favor"
+    },
+    {
+      "word": "kevin",
+      "hint": "yin"
+    },
+    {
+      "word": "brian",
+      "hint": "ted"
+    },
+    {
+      "word": "grant",
+      "hint": "give"
+    },
+    {
+      "word": "citys",
+      "hint": "-burg"
+    },
+    {
+      "word": "holds",
+      "hint": "grip"
+    },
+    {
+      "word": "pitch",
+      "hint": "tar"
+    },
+    {
+      "word": "frank",
+      "hint": "blunt"
+    },
+    {
+      "word": "dream",
+      "hint": "dreamy"
+    },
+    {
+      "word": "enemy",
+      "hint": "foe"
+    },
+    {
+      "word": "faith",
+      "hint": "trust"
+    },
+    {
+      "word": "tries",
+      "hint": "aims"
+    },
+    {
+      "word": "towns",
+      "hint": "jin"
+    },
+    {
+      "word": "doubt",
+      "hint": "dubiety"
+    },
+    {
+      "word": "seats",
+      "hint": "beds"
+    },
+    {
+      "word": "mdash",
+      "hint": "down"
+    },
+    {
+      "word": "magic",
+      "hint": "wizard"
+    },
+    {
+      "word": "enter",
+      "hint": "insert"
+    },
+    {
+      "word": "birth",
+      "hint": "bear"
+    },
+    {
+      "word": "apart",
+      "hint": "aside"
+    },
+    {
+      "word": "fired",
+      "hint": "dismiss"
+    },
+    {
+      "word": "guess",
+      "hint": "infer"
+    },
+    {
+      "word": "helps",
+      "hint": "aid"
+    },
+    {
+      "word": "fresh",
+      "hint": "new"
+    },
+    {
+      "word": "touch",
+      "hint": "meet"
+    },
+    {
+      "word": "races",
+      "hint": "run"
+    },
+    {
+      "word": "brand",
+      "hint": "mark"
+    },
+    {
+      "word": "index",
+      "hint": "power"
+    },
+    {
+      "word": "queen",
+      "hint": "dame"
+    },
+    {
+      "word": "grade",
+      "hint": "rank"
+    },
+    {
+      "word": "split",
+      "hint": "part"
+    },
+    {
+      "word": "greek",
+      "hint": "greece"
+    },
+    {
+      "word": "horse",
+      "hint": "shit"
+    },
+    {
+      "word": "drugs",
+      "hint": "dose"
+    },
+    {
+      "word": "shape",
+      "hint": "form"
+    },
+    {
+      "word": "urban",
+      "hint": "city"
+    },
+    {
+      "word": "loved",
+      "hint": "dear"
+    },
+    {
+      "word": "glass",
+      "hint": "glaze"
+    },
+    {
+      "word": "roads",
+      "hint": "rail"
+    },
+    {
+      "word": "italy",
+      "hint": "rome"
+    },
+    {
+      "word": "truly",
+      "hint": "really"
+    },
+    {
+      "word": "woods",
+      "hint": "bush"
+    },
+    {
+      "word": "faced",
+      "hint": "visaged"
+    },
+    {
+      "word": "heads",
+      "hint": "top"
+    },
+    {
+      "word": "moves",
+      "hint": "run"
+    },
+    {
+      "word": "prove",
+      "hint": "show"
+    },
+    {
+      "word": "kings",
+      "hint": "baron"
+    },
+    {
+      "word": "feels",
+      "hint": "find"
+    },
+    {
+      "word": "adult",
+      "hint": "big"
+    },
+    {
+      "word": "spoke",
+      "hint": "saw"
+    },
+    {
+      "word": "views",
+      "hint": "sight"
+    },
+    {
+      "word": "exist",
+      "hint": "be"
+    },
+    {
+      "word": "brain",
+      "hint": "wit"
+    },
+    {
+      "word": "steps",
+      "hint": "acts"
+    },
+    {
+      "word": "limit",
+      "hint": "confine"
+    },
+    {
+      "word": "bills",
+      "hint": "nib"
+    },
+    {
+      "word": "threw",
+      "hint": "did"
+    },
+    {
+      "word": "rural",
+      "hint": "hick"
+    },
+    {
+      "word": "talks",
+      "hint": "chat"
+    },
+    {
+      "word": "actor",
+      "hint": "doer"
+    },
+    {
+      "word": "corps",
+      "hint": "army"
+    },
+    {
+      "word": "stood",
+      "hint": "been"
+    },
+    {
+      "word": "medal",
+      "hint": "palm"
+    },
+    {
+      "word": "tower",
+      "hint": "loom"
+    },
+    {
+      "word": "spain",
+      "hint": "espana"
+    },
+    {
+      "word": "hired",
+      "hint": "began"
+    },
+    {
+      "word": "creek",
+      "hint": "ria"
+    },
+    {
+      "word": "plane",
+      "hint": "flat"
+    },
+    {
+      "word": "bears",
+      "hint": "wear"
+    },
+    {
+      "word": "aware",
+      "hint": "alert"
+    },
+    {
+      "word": "alive",
+      "hint": "live"
+    },
+    {
+      "word": "occur",
+      "hint": "hap"
+    },
+    {
+      "word": "theme",
+      "hint": "idea"
+    },
+    {
+      "word": "jason",
+      "hint": "jas"
+    },
+    {
+      "word": "tests",
+      "hint": "try"
+    },
+    {
+      "word": "scale",
+      "hint": "plate"
+    },
+    {
+      "word": "aside",
+      "hint": "by"
+    },
+    {
+      "word": "lewis",
+      "hint": "luis"
+    },
+    {
+      "word": "hills",
+      "hint": "shan"
+    },
+    {
+      "word": "steel",
+      "hint": "iron"
+    },
+    {
+      "word": "grown",
+      "hint": "big"
+    },
+    {
+      "word": "armed",
+      "hint": "barbed"
+    },
+    {
+      "word": "chose",
+      "hint": "took"
+    },
+    {
+      "word": "prize",
+      "hint": "pry"
+    },
+    {
+      "word": "trail",
+      "hint": "chase"
+    },
+    {
+      "word": "giant",
+      "hint": "big"
+    },
+    {
+      "word": "meets",
+      "hint": "touch"
+    },
+    {
+      "word": "squad",
+      "hint": "team"
+    },
+    {
+      "word": "fleet",
+      "hint": "dart"
+    },
+    {
+      "word": "faces",
+      "hint": "cheek"
+    },
+    {
+      "word": "loans",
+      "hint": "lend"
+    },
+    {
+      "word": "plate",
+      "hint": "home"
+    },
+    {
+      "word": "tools",
+      "hint": "shaft"
+    },
+    {
+      "word": "santa",
+      "hint": "xmas"
+    },
+    {
+      "word": "guide",
+      "hint": "pass"
+    },
+    {
+      "word": "proud",
+      "hint": "haughty"
+    },
+    {
+      "word": "walls",
+      "hint": "fence"
+    },
+    {
+      "word": "drove",
+      "hint": "herd"
+    },
+    {
+      "word": "goods",
+      "hint": "trade"
+    },
+    {
+      "word": "favor",
+      "hint": "honor"
+    },
+    {
+      "word": "equal",
+      "hint": "be"
+    },
+    {
+      "word": "brief",
+      "hint": "short"
+    },
+    {
+      "word": "cable",
+      "hint": "wire"
+    },
+    {
+      "word": "waste",
+      "hint": "wild"
+    },
+    {
+      "word": "truck",
+      "hint": "van"
+    },
+    {
+      "word": "joint",
+      "hint": "united"
+    },
+    {
+      "word": "mixed",
+      "hint": "motley"
+    },
+    {
+      "word": "links",
+      "hint": "ties"
+    },
+    {
+      "word": "mount",
+      "hint": "wax"
+    },
+    {
+      "word": "usual",
+      "hint": "wonted"
+    },
+    {
+      "word": "smart",
+      "hint": "hurt"
+    },
+    {
+      "word": "miami",
+      "hint": "erie"
+    },
+    {
+      "word": "allen",
+      "hint": "aron"
+    },
+    {
+      "word": "crash",
+      "hint": "smash"
+    },
+    {
+      "word": "thank",
+      "hint": "praise"
+    },
+    {
+      "word": "entry",
+      "hint": "debut"
+    },
+    {
+      "word": "pilot",
+      "hint": "test"
+    },
+    {
+      "word": "latin",
+      "hint": "ladino"
+    },
+    {
+      "word": "apply",
+      "hint": "use"
+    },
+    {
+      "word": "rooms",
+      "hint": "suite"
+    },
+    {
+      "word": "blame",
+      "hint": "damn"
+    },
+    {
+      "word": "parks",
+      "hint": "eis"
+    },
+    {
+      "word": "fewer",
+      "hint": "age"
+    },
+    {
+      "word": "photo",
+      "hint": "pic"
+    },
+    {
+      "word": "saved",
+      "hint": "blessed"
+    },
+    {
+      "word": "label",
+      "hint": "tag"
+    },
+    {
+      "word": "phase",
+      "hint": "part"
+    },
+    {
+      "word": "dutch",
+      "hint": "low"
+    },
+    {
+      "word": "sarah",
+      "hint": "mrs"
+    },
+    {
+      "word": "filed",
+      "hint": "arisen"
+    },
+    {
+      "word": "crown",
+      "hint": "tip"
+    },
+    {
+      "word": "ocean",
+      "hint": "sea"
+    },
+    {
+      "word": "likes",
+      "hint": "ish"
+    },
+    {
+      "word": "clark",
+      "hint": "lois"
+    },
+    {
+      "word": "jesus",
+      "hint": "christ"
+    },
+    {
+      "word": "keeps",
+      "hint": "retain"
+    },
+    {
+      "word": "drama",
+      "hint": "play"
+    },
+    {
+      "word": "tight",
+      "hint": "taut"
+    },
+    {
+      "word": "diego",
+      "hint": "los"
+    },
+    {
+      "word": "abuse",
+      "hint": "misuse"
+    },
+    {
+      "word": "chain",
+      "hint": "iron"
+    },
+    {
+      "word": "doors",
+      "hint": "amber"
+    },
+    {
+      "word": "guest",
+      "hint": "node"
+    },
+    {
+      "word": "folks",
+      "hint": "sept"
+    },
+    {
+      "word": "pages",
+      "hint": "acton"
+    },
+    {
+      "word": "roles",
+      "hint": "use"
+    },
+    {
+      "word": "stick",
+      "hint": "pin"
+    },
+    {
+      "word": "sleep",
+      "hint": "nap"
+    },
+    {
+      "word": "harry",
+      "hint": "chevy"
+    },
+    {
+      "word": "korea",
+      "hint": "dprk"
+    },
+    {
+      "word": "worry",
+      "hint": "care"
+    },
+    {
+      "word": "motor",
+      "hint": "drive"
+    },
+    {
+      "word": "chase",
+      "hint": "tag"
+    },
+    {
+      "word": "shoot",
+      "hint": "hit"
+    },
+    {
+      "word": "firms",
+      "hint": "fast"
+    },
+    {
+      "word": "mouth",
+      "hint": "lip"
+    },
+    {
+      "word": "shift",
+      "hint": "sack"
+    },
+    {
+      "word": "cells",
+      "hint": "cadre"
+    },
+    {
+      "word": "fixed",
+      "hint": "rigid"
+    },
+    {
+      "word": "comic",
+      "hint": "funny"
+    },
+    {
+      "word": "drawn",
+      "hint": "worn"
+    },
+    {
+      "word": "rival",
+      "hint": "touch"
+    },
+    {
+      "word": "upset",
+      "hint": "worried"
+    },
+    {
+      "word": "lions",
+      "hint": "león"
+    },
+    {
+      "word": "drink",
+      "hint": "tope"
+    },
+    {
+      "word": "birds",
+      "hint": "fowl"
+    },
+    {
+      "word": "teach",
+      "hint": "learn"
+    },
+    {
+      "word": "deals",
+      "hint": "share"
+    },
+    {
+      "word": "kelly",
+      "hint": "kel"
+    },
+    {
+      "word": "frame",
+      "hint": "put"
+    },
+    {
+      "word": "pound",
+      "hint": "lb"
+    },
+    {
+      "word": "chair",
+      "hint": "preside"
+    },
+    {
+      "word": "opera",
+      "hint": "troupe"
+    },
+    {
+      "word": "acres",
+      "hint": "land"
+    },
+    {
+      "word": "asian",
+      "hint": "asia"
+    },
+    {
+      "word": "ruled",
+      "hint": "headed"
+    },
+    {
+      "word": "saint",
+      "hint": "angel"
+    },
+    {
+      "word": "lunch",
+      "hint": "tiffin"
+    },
+    {
+      "word": "arena",
+      "hint": "area"
+    },
+    {
+      "word": "cycle",
+      "hint": "cps"
+    },
+    {
+      "word": "naval",
+      "hint": "ship"
+    },
+    {
+      "word": "sweet",
+      "hint": "sugary"
+    },
+    {
+      "word": "rally",
+      "hint": "tease"
+    },
+    {
+      "word": "funny",
+      "hint": "comical"
+    },
+    {
+      "word": "bench",
+      "hint": "bed"
+    },
+    {
+      "word": "error",
+      "hint": "fault"
+    },
+    {
+      "word": "bonds",
+      "hint": "bail"
+    },
+    {
+      "word": "wales",
+      "hint": "chai"
+    },
+    {
+      "word": "refer",
+      "hint": "cite"
+    },
+    {
+      "word": "newly",
+      "hint": "new"
+    },
+    {
+      "word": "ranks",
+      "hint": "grade"
+    },
+    {
+      "word": "ninth",
+      "hint": "9th"
+    },
+    {
+      "word": "print",
+      "hint": "written"
+    },
+    {
+      "word": "trend",
+      "hint": "slue"
+    },
+    {
+      "word": "empty",
+      "hint": "void"
+    },
+    {
+      "word": "moore",
+      "hint": "mori"
+    },
+    {
+      "word": "depth",
+      "hint": "deep"
+    },
+    {
+      "word": "sugar",
+      "hint": "candy"
+    },
+    {
+      "word": "tiger",
+      "hint": "lion"
+    },
+    {
+      "word": "cents",
+      "hint": "cts"
+    },
+    {
+      "word": "facts",
+      "hint": "acts"
+    },
+    {
+      "word": "begun",
+      "hint": "set"
+    },
+    {
+      "word": "angry",
+      "hint": "irate"
+    },
+    {
+      "word": "shell",
+      "hint": "pod"
+    },
+    {
+      "word": "lands",
+      "hint": "soil"
+    },
+    {
+      "word": "quiet",
+      "hint": "muted"
+    },
+    {
+      "word": "hence",
+      "hint": "thus"
+    },
+    {
+      "word": "dozen",
+      "hint": "12"
+    },
+    {
+      "word": "jerry",
+      "hint": "hun"
+    },
+    {
+      "word": "false",
+      "hint": "wrong"
+    },
+    {
+      "word": "liked",
+      "hint": "adore"
+    },
+    {
+      "word": "panel",
+      "hint": "jury"
+    },
+    {
+      "word": "ratio",
+      "hint": "figure"
+    },
+    {
+      "word": "marks",
+      "hint": "set"
+    },
+    {
+      "word": "lucky",
+      "hint": "hot"
+    },
+    {
+      "word": "sorry",
+      "hint": "rueful"
+    },
+    {
+      "word": "palin",
+      "hint": "wales"
+    },
+    {
+      "word": "broad",
+      "hint": "wide"
+    },
+    {
+      "word": "walks",
+      "hint": "pass"
+    },
+    {
+      "word": "chart",
+      "hint": "map"
+    },
+    {
+      "word": "wings",
+      "hint": "fly"
+    },
+    {
+      "word": "solar",
+      "hint": "sun"
+    },
+    {
+      "word": "theft",
+      "hint": "thief"
+    },
+    {
+      "word": "shore",
+      "hint": "land"
+    },
+    {
+      "word": "crazy",
+      "hint": "mad"
+    },
+    {
+      "word": "sharp",
+      "hint": "edged"
+    },
+    {
+      "word": "loves",
+      "hint": "dear"
+    },
+    {
+      "word": "larry",
+      "hint": "ari"
+    },
+    {
+      "word": "spots",
+      "hint": "slot"
+    },
+    {
+      "word": "vegas",
+      "hint": "mom"
+    },
+    {
+      "word": "jimmy",
+      "hint": "pry"
+    },
+    {
+      "word": "bruce",
+      "hint": "liu"
+    },
+    {
+      "word": "cheap",
+      "hint": "flashy"
+    },
+    {
+      "word": "holes",
+      "hint": "fix"
+    },
+    {
+      "word": "adams",
+      "hint": "angus"
+    },
+    {
+      "word": "argue",
+      "hint": "fence"
+    },
+    {
+      "word": "stuck",
+      "hint": "stop"
+    },
+    {
+      "word": "taste",
+      "hint": "try"
+    },
+    {
+      "word": "bases",
+      "hint": "mean"
+    },
+    {
+      "word": "hosts",
+      "hint": "emcee"
+    },
+    {
+      "word": "elite",
+      "hint": "elect"
+    },
+    {
+      "word": "balls",
+      "hint": "orb"
+    },
+    {
+      "word": "bible",
+      "hint": "word"
+    },
+    {
+      "word": "treat",
+      "hint": "work"
+    },
+    {
+      "word": "stops",
+      "hint": "boodle"
+    },
+    {
+      "word": "dress",
+      "hint": "garb"
+    },
+    {
+      "word": "boost",
+      "hint": "rise"
+    },
+    {
+      "word": "audio",
+      "hint": "sound"
+    },
+    {
+      "word": "gains",
+      "hint": "attain"
+    },
+    {
+      "word": "simon",
+      "hint": "zion"
+    },
+    {
+      "word": "moral",
+      "hint": "mental"
+    },
+    {
+      "word": "paint",
+      "hint": "rouge"
+    },
+    {
+      "word": "files",
+      "hint": "lodge"
+    },
+    {
+      "word": "clock",
+      "hint": "time"
+    },
+    {
+      "word": "strip",
+      "hint": "slip"
+    },
+    {
+      "word": "heres",
+      "hint": "lol"
+    },
+    {
+      "word": "dates",
+      "hint": "see"
+    },
+    {
+      "word": "sight",
+      "hint": "lot"
+    },
+    {
+      "word": "angel",
+      "hint": "saint"
+    },
+    {
+      "word": "billy",
+      "hint": "stick"
+    },
+    {
+      "word": "kinds",
+      "hint": "sort"
+    },
+    {
+      "word": "uncle",
+      "hint": "dad"
+    },
+    {
+      "word": "bunch",
+      "hint": "lot"
+    },
+    {
+      "word": "trips",
+      "hint": "jaunt"
+    },
+    {
+      "word": "wheel",
+      "hint": "rack"
+    },
+    {
+      "word": "pride",
+      "hint": "preen"
+    },
+    {
+      "word": "andor",
+      "hint": "palki"
+    },
+    {
+      "word": "fruit",
+      "hint": "pear"
+    },
+    {
+      "word": "skill",
+      "hint": "science"
+    },
+    {
+      "word": "flash",
+      "hint": "wink"
+    },
+    {
+      "word": "smoke",
+      "hint": "pot"
+    },
+    {
+      "word": "kills",
+      "hint": "down"
+    },
+    {
+      "word": "tired",
+      "hint": "drawn"
+    },
+    {
+      "word": "shops",
+      "hint": "store"
+    },
+    {
+      "word": "piano",
+      "hint": "soft"
+    },
+    {
+      "word": "cited",
+      "hint": "supra"
+    },
+    {
+      "word": "shoes",
+      "hint": "boot"
+    },
+    {
+      "word": "gates",
+      "hint": "rod"
+    },
+    {
+      "word": "noise",
+      "hint": "noisy"
+    },
+    {
+      "word": "roots",
+      "hint": "side"
+    },
+    {
+      "word": "ideal",
+      "hint": "saint"
+    },
+    {
+      "word": "ndash"
+    },
+    {
+      "word": "wells",
+      "hint": "good"
+    },
+    {
+      "word": "shock",
+      "hint": "stun"
+    },
+    {
+      "word": "polls",
+      "hint": "pate"
+    },
+    {
+      "word": "shall",
+      "hint": "will"
+    },
+    {
+      "word": "proof",
+      "hint": "proving"
+    },
+    {
+      "word": "blues",
+      "hint": "lam"
+    },
+    {
+      "word": "exact",
+      "hint": "right"
+    },
+    {
+      "word": "hadnt",
+      "hint": "cought"
+    },
+    {
+      "word": "opens",
+      "hint": "ajar"
+    },
+    {
+      "word": "wayne",
+      "hint": "wei"
+    },
+    {
+      "word": "roger",
+      "hint": "copy"
+    },
+    {
+      "word": "grace",
+      "hint": "honor"
+    },
+    {
+      "word": "swing",
+      "hint": "cut"
+    },
+    {
+      "word": "boats",
+      "hint": "barges"
+    },
+    {
+      "word": "islam",
+      "hint": "muslim"
+    },
+    {
+      "word": "plain",
+      "hint": "trim"
+    },
+    {
+      "word": "badly",
+      "hint": "ill"
+    },
+    {
+      "word": "ridge",
+      "hint": "ling"
+    },
+    {
+      "word": "baker",
+      "hint": "oven"
+    },
+    {
+      "word": "topic",
+      "hint": "theme"
+    },
+    {
+      "word": "hoped",
+      "hint": "called"
+    },
+    {
+      "word": "bobby",
+      "hint": "bob"
+    },
+    {
+      "word": "loose",
+      "hint": "loosen"
+    },
+    {
+      "word": "risks",
+      "hint": "peril"
+    },
+    {
+      "word": "egypt",
+      "hint": "mena"
+    },
+    {
+      "word": "inner",
+      "hint": "inward"
+    },
+    {
+      "word": "rough",
+      "hint": "crude"
+    },
+    {
+      "word": "rapid",
+      "hint": "fast"
+    },
+    {
+      "word": "forum",
+      "hint": "agora"
+    },
+    {
+      "word": "lakes",
+      "hint": "sea"
+    },
+    {
+      "word": "picks",
+      "hint": "woof"
+    },
+    {
+      "word": "foods",
+      "hint": "diet"
+    },
+    {
+      "word": "terry",
+      "hint": "kwan"
+    },
+    {
+      "word": "canal",
+      "hint": "duct"
+    },
+    {
+      "word": "rugby",
+      "hint": "lam"
+    },
+    {
+      "word": "dying",
+      "hint": "last"
+    },
+    {
+      "word": "camps",
+      "hint": "pack"
+    },
+    {
+      "word": "sword",
+      "hint": "blade"
+    },
+    {
+      "word": "saves",
+      "hint": "keep"
+    },
+    {
+      "word": "reign",
+      "hint": "rule"
+    },
+    {
+      "word": "click",
+      "hint": "snap"
+    },
+    {
+      "word": "bonus",
+      "hint": "first"
+    },
+    {
+      "word": "aimed",
+      "hint": "run"
+    },
+    {
+      "word": "winds",
+      "hint": "tip"
+    },
+    {
+      "word": "posts",
+      "hint": "mail"
+    },
+    {
+      "word": "forth",
+      "hint": "off"
+    },
+    {
+      "word": "solve",
+      "hint": "work"
+    },
+    {
+      "word": "danny",
+      "hint": "sam"
+    },
+    {
+      "word": "flood",
+      "hint": "swamp"
+    },
+    {
+      "word": "aaron",
+      "hint": "alan"
+    },
+    {
+      "word": "fraud",
+      "hint": "hoax"
+    },
+    {
+      "word": "admit",
+      "hint": "take"
+    },
+    {
+      "word": "homer",
+      "hint": "kor"
+    },
+    {
+      "word": "bound",
+      "hint": "sure"
+    },
+    {
+      "word": "lying",
+      "hint": "deceit"
+    },
+    {
+      "word": "tampa",
+      "hint": "tamba"
+    },
+    {
+      "word": "maria",
+      "hint": "mary"
+    },
+    {
+      "word": "craig",
+      "hint": "clegg"
+    },
+    {
+      "word": "tribe",
+      "hint": "kin"
+    },
+    {
+      "word": "blind",
+      "hint": "purblind"
+    },
+    {
+      "word": "anger",
+      "hint": "ire"
+    },
+    {
+      "word": "lists",
+      "hint": "tilt"
+    },
+    {
+      "word": "vital",
+      "hint": "alive"
+    },
+    {
+      "word": "yahoo",
+      "hint": "rube"
+    },
+    {
+      "word": "thick",
+      "hint": "dense"
+    },
+    {
+      "word": "input",
+      "hint": "supply"
+    },
+    {
+      "word": "grass",
+      "hint": "pot"
+    },
+    {
+      "word": "barry",
+      "hint": "adam"
+    },
+    {
+      "word": "aired",
+      "hint": "airy"
+    },
+    {
+      "word": "buses",
+      "hint": "jitney"
+    },
+    {
+      "word": "cream",
+      "hint": "pick"
+    },
+    {
+      "word": "evans",
+      "hint": "evan"
+    },
+    {
+      "word": "fault",
+      "hint": "flaw"
+    },
+    {
+      "word": "twins",
+      "hint": "pair"
+    },
+    {
+      "word": "minds",
+      "hint": "heed"
+    },
+    {
+      "word": "metro",
+      "hint": "mtr"
+    },
+    {
+      "word": "steal",
+      "hint": "buy"
+    },
+    {
+      "word": "cloud",
+      "hint": "fog"
+    },
+    {
+      "word": "yield",
+      "hint": "pay"
+    },
+    {
+      "word": "mills",
+      "hint": "grind"
+    },
+    {
+      "word": "delay",
+      "hint": "wait"
+    },
+    {
+      "word": "asset",
+      "hint": "plus"
+    },
+    {
+      "word": "usage",
+      "hint": "use"
+    },
+    {
+      "word": "tours",
+      "hint": "go"
+    },
+    {
+      "word": "tyler",
+      "hint": "hey"
+    },
+    {
+      "word": "johns",
+      "hint": "lav"
+    },
+    {
+      "word": "iraqi",
+      "hint": "iraq"
+    },
+    {
+      "word": "smile",
+      "hint": "grin"
+    },
+    {
+      "word": "marry",
+      "hint": "wed"
+    },
+    {
+      "word": "angle",
+      "hint": "tip"
+    },
+    {
+      "word": "keith",
+      "hint": "kei"
+    },
+    {
+      "word": "linux",
+      "hint": "gnu"
+    },
+    {
+      "word": "stake",
+      "hint": "punt"
+    },
+    {
+      "word": "susan",
+      "hint": "anne"
+    },
+    {
+      "word": "rocks",
+      "hint": "tilt"
+    },
+    {
+      "word": "theyd"
+    },
+    {
+      "word": "climb",
+      "hint": "wax"
+    },
+    {
+      "word": "fears",
+      "hint": "care"
+    },
+    {
+      "word": "tanks",
+      "hint": "bacs"
+    },
+    {
+      "word": "virus",
+      "hint": "hiv"
+    },
+    {
+      "word": "eagle",
+      "hint": "erne"
+    },
+    {
+      "word": "meter",
+      "hint": "m"
+    },
+    {
+      "word": "acted",
+      "hint": "been"
+    },
+    {
+      "word": "gross",
+      "hint": "crude"
+    },
+    {
+      "word": "farms",
+      "hint": "grow"
+    },
+    {
+      "word": "males",
+      "hint": "manly"
+    },
+    {
+      "word": "chest",
+      "hint": "box"
+    },
+    {
+      "word": "logic",
+      "hint": "reason"
+    },
+    {
+      "word": "craft",
+      "hint": "guile"
+    },
+    {
+      "word": "backs",
+      "hint": "backward"
+    },
+    {
+      "word": "waves",
+      "hint": "flap"
+    },
+    {
+      "word": "relay",
+      "hint": "fuse"
+    },
+    {
+      "word": "globe",
+      "hint": "orb"
+    },
+    {
+      "word": "bread",
+      "hint": "loot"
+    },
+    {
+      "word": "laugh",
+      "hint": "gag"
+    },
+    {
+      "word": "radar",
+      "hint": "radio"
+    },
+    {
+      "word": "crews",
+      "hint": "men"
+    },
+    {
+      "word": "notre",
+      "hint": "our"
+    },
+    {
+      "word": "tears",
+      "hint": "rents"
+    },
+    {
+      "word": "layer",
+      "hint": "ply"
+    },
+    {
+      "word": "vocal",
+      "hint": "loud"
+    },
+    {
+      "word": "tokyo",
+      "hint": "edo"
+    },
+    {
+      "word": "boxes",
+      "hint": "loge"
+    },
+    {
+      "word": "quest",
+      "hint": "bay"
+    },
+    {
+      "word": "fires",
+      "hint": "fuel"
+    },
+    {
+      "word": "steam",
+      "hint": "mist"
+    },
+    {
+      "word": "wound",
+      "hint": "hurt"
+    },
+    {
+      "word": "burns",
+      "hint": "glow"
+    },
+    {
+      "word": "sheet",
+      "hint": "tack"
+    },
+    {
+      "word": "grove",
+      "hint": "forest"
+    },
+    {
+      "word": "ghost",
+      "hint": "spook"
+    },
+    {
+      "word": "spell",
+      "hint": "tour"
+    },
+    {
+      "word": "perry",
+      "hint": "bere"
+    },
+    {
+      "word": "randy",
+      "hint": "joy"
+    },
+    {
+      "word": "sends",
+      "hint": "mail"
+    },
+    {
+      "word": "loyal",
+      "hint": "leal"
+    },
+    {
+      "word": "delta",
+      "hint": "part"
+    },
+    {
+      "word": "gifts",
+      "hint": "give"
+    },
+    {
+      "word": "dirty",
+      "hint": "foul"
+    },
+    {
+      "word": "flows",
+      "hint": "run"
+    },
+    {
+      "word": "tasks",
+      "hint": "job"
+    },
+    {
+      "word": "singh",
+      "hint": "xin"
+    },
+    {
+      "word": "rocky",
+      "hint": "hard"
+    },
+    {
+      "word": "pearl",
+      "hint": "bone"
+    },
+    {
+      "word": "dealt",
+      "hint": "acted"
+    },
+    {
+      "word": "chaos",
+      "hint": "bedlam"
+    },
+    {
+      "word": "loses",
+      "hint": "miss"
+    },
+    {
+      "word": "robin",
+      "hint": "merle"
+    },
+    {
+      "word": "cargo",
+      "hint": "load"
+    },
+    {
+      "word": "rider",
+      "hint": "fare"
+    },
+    {
+      "word": "bulls",
+      "hint": "pig"
+    },
+    {
+      "word": "teeth",
+      "hint": "boom"
+    },
+    {
+      "word": "teens",
+      "hint": "boy"
+    },
+    {
+      "word": "eddie",
+      "hint": "edie"
+    },
+    {
+      "word": "fails",
+      "hint": "die"
+    },
+    {
+      "word": "meals",
+      "hint": "ate"
+    },
+    {
+      "word": "genre",
+      "hint": "type"
+    },
+    {
+      "word": "nancy",
+      "hint": "rome"
+    },
+    {
+      "word": "haiti",
+      "hint": "togo"
+    },
+    {
+      "word": "shame",
+      "hint": "pity"
+    },
+    {
+      "word": "tommy",
+      "hint": "tom"
+    },
+    {
+      "word": "alien",
+      "hint": "exotic"
+    },
+    {
+      "word": "trick",
+      "hint": "joke"
+    },
+    {
+      "word": "fence",
+      "hint": "wall"
+    },
+    {
+      "word": "grave",
+      "hint": "tomb"
+    },
+    {
+      "word": "shirt",
+      "hint": "suit"
+    },
+    {
+      "word": "wider",
+      "hint": "big"
+    },
+    {
+      "word": "maker",
+      "hint": "shaper"
+    },
+    {
+      "word": "anime",
+      "hint": "manga"
+    },
+    {
+      "word": "slide",
+      "hint": "slew"
+    },
+    {
+      "word": "chuck",
+      "hint": "cat"
+    },
+    {
+      "word": "rated",
+      "hint": "dummy"
+    },
+    {
+      "word": "rings",
+      "hint": "band"
+    },
+    {
+      "word": "venue",
+      "hint": "locus"
+    },
+    {
+      "word": "elder",
+      "hint": "big"
+    },
+    {
+      "word": "nurse",
+      "hint": "hold"
+    },
+    {
+      "word": "scout",
+      "hint": "guide"
+    },
+    {
+      "word": "mines",
+      "hint": "amoy"
+    },
+    {
+      "word": "blast",
+      "hint": "gust"
+    },
+    {
+      "word": "brady",
+      "hint": "slow"
+    },
+    {
+      "word": "stole",
+      "hint": "rob"
+    },
+    {
+      "word": "maine",
+      "hint": "min"
+    },
+    {
+      "word": "vista",
+      "hint": "view"
+    },
+    {
+      "word": "crops",
+      "hint": "lop"
+    },
+    {
+      "word": "unity",
+      "hint": "i"
+    },
+    {
+      "word": "laura",
+      "hint": "mrs"
+    },
+    {
+      "word": "urged",
+      "hint": "asked"
+    },
+    {
+      "word": "trash",
+      "hint": "junk"
+    },
+    {
+      "word": "drops",
+      "hint": "shed"
+    },
+    {
+      "word": "outer",
+      "hint": "out"
+    },
+    {
+      "word": "derek",
+      "hint": "der"
+    },
+    {
+      "word": "tends",
+      "hint": "run"
+    },
+    {
+      "word": "brick",
+      "hint": "slab"
+    },
+    {
+      "word": "alice",
+      "hint": "ali"
+    },
+    {
+      "word": "colts",
+      "hint": "foals"
+    },
+    {
+      "word": "valid",
+      "hint": "legal"
+    },
+    {
+      "word": "brett",
+      "hint": "bret"
+    },
+    {
+      "word": "sells",
+      "hint": "deal"
+    },
+    {
+      "word": "swiss",
+      "hint": "suez"
+    },
+    {
+      "word": "derby",
+      "hint": "hat"
+    },
+    {
+      "word": "crude",
+      "hint": "rude"
+    },
+    {
+      "word": "knife",
+      "hint": "stab"
+    },
+    {
+      "word": "jacob",
+      "hint": "nga"
+    },
+    {
+      "word": "grows",
+      "hint": "get"
+    },
+    {
+      "word": "civic",
+      "hint": "civil"
+    },
+    {
+      "word": "noble",
+      "hint": "regal"
+    },
+    {
+      "word": "spite",
+      "hint": "hurt"
+    },
+    {
+      "word": "gonna",
+      "hint": "aii"
+    },
+    {
+      "word": "poems",
+      "hint": "by"
+    },
+    {
+      "word": "wears",
+      "hint": "bust"
+    },
+    {
+      "word": "haven",
+      "hint": "sea"
+    },
+    {
+      "word": "seeds",
+      "hint": "sow"
+    },
+    {
+      "word": "manga",
+      "hint": "mana"
+    },
+    {
+      "word": "lords",
+      "hint": "noble"
+    },
+    {
+      "word": "ranch",
+      "hint": "spread"
+    },
+    {
+      "word": "hawks",
+      "hint": "vend"
+    },
+    {
+      "word": "rifle",
+      "hint": "loot"
+    },
+    {
+      "word": "casey",
+      "hint": "girl"
+    },
+    {
+      "word": "drunk",
+      "hint": "tipsy"
+    },
+    {
+      "word": "chips",
+      "hint": "flake"
+    },
+    {
+      "word": "ankle",
+      "hint": "leg"
+    },
+    {
+      "word": "stays",
+      "hint": "left"
+    },
+    {
+      "word": "glory",
+      "hint": "aura"
+    },
+    {
+      "word": "jamie",
+      "hint": "jim"
+    },
+    {
+      "word": "lined",
+      "hint": "clad"
+    },
+    {
+      "word": "oscar",
+      "hint": "win"
+    },
+    {
+      "word": "mason",
+      "hint": "book"
+    },
+    {
+      "word": "draws",
+      "hint": "drag"
+    },
+    {
+      "word": "linda",
+      "hint": "mrs"
+    },
+    {
+      "word": "bombs",
+      "hint": "dud"
+    },
+    {
+      "word": "punch",
+      "hint": "hit"
+    },
+    {
+      "word": "wages",
+      "hint": "payoff"
+    },
+    {
+      "word": "lodge",
+      "hint": "inn"
+    },
+    {
+      "word": "humor",
+      "hint": "wit"
+    },
+    {
+      "word": "siege",
+      "hint": "besiege"
+    },
+    {
+      "word": "bones",
+      "hint": "the"
+    },
+    {
+      "word": "robot",
+      "hint": "eve"
+    },
+    {
+      "word": "adopt",
+      "hint": "take"
+    },
+    {
+      "word": "eager",
+      "hint": "avid"
+    },
+    {
+      "word": "hamas",
+      "hint": "hms"
+    },
+    {
+      "word": "favre",
+      "hint": "farve"
+    },
+    {
+      "word": "lanes",
+      "hint": "road"
+    },
+    {
+      "word": "suits",
+      "hint": "fit"
+    },
+    {
+      "word": "array",
+      "hint": "range"
+    },
+    {
+      "word": "slave",
+      "hint": "bond"
+    },
+    {
+      "word": "mound",
+      "hint": "hill"
+    },
+    {
+      "word": "lucas",
+      "hint": "luca"
+    },
+    {
+      "word": "quote",
+      "hint": "cite"
+    },
+    {
+      "word": "karen",
+      "hint": "ron"
+    },
+    {
+      "word": "crack",
+      "hint": "gap"
+    },
+    {
+      "word": "joins",
+      "hint": "sum"
+    },
+    {
+      "word": "blake",
+      "hint": "jex"
+    },
+    {
+      "word": "dated",
+      "hint": "day"
+    },
+    {
+      "word": "swept",
+      "hint": "came"
+    },
+    {
+      "word": "sorts",
+      "hint": "form"
+    },
+    {
+      "word": "ferry",
+      "hint": "bac"
+    },
+    {
+      "word": "texts",
+      "hint": "acts"
+    },
+    {
+      "word": "reads",
+      "hint": "say"
+    },
+    {
+      "word": "drums",
+      "hint": "swot"
+    },
+    {
+      "word": "ellis",
+      "hint": "rae"
+    },
+    {
+      "word": "baron",
+      "hint": "king"
+    },
+    {
+      "word": "harsh",
+      "hint": "hard"
+    },
+    {
+      "word": "cliff",
+      "hint": "hill"
+    },
+    {
+      "word": "choir",
+      "hint": "song"
+    },
+    {
+      "word": "spill",
+      "hint": "shed"
+    },
+    {
+      "word": "emily",
+      "hint": "hui"
+    },
+    {
+      "word": "rides",
+      "hint": "cod"
+    },
+    {
+      "word": "gauge",
+      "hint": "gage"
+    },
+    {
+      "word": "lease",
+      "hint": "let"
+    },
+    {
+      "word": "surge",
+      "hint": "zoom"
+    },
+    {
+      "word": "pizza",
+      "hint": "pie"
+    },
+    {
+      "word": "spare",
+      "hint": "bare"
+    },
+    {
+      "word": "tales",
+      "hint": "fib"
+    },
+    {
+      "word": "armor",
+      "hint": "suit"
+    },
+    {
+      "word": "grain",
+      "hint": "corn"
+    },
+    {
+      "word": "sauce",
+      "hint": "soy"
+    },
+    {
+      "word": "scope",
+      "hint": "reach"
+    },
+    {
+      "word": "seeks",
+      "hint": "try"
+    },
+    {
+      "word": "ports",
+      "hint": "left"
+    },
+    {
+      "word": "coins",
+      "hint": "mint"
+    },
+    {
+      "word": "organ",
+      "hint": "organic"
+    },
+    {
+      "word": "sacks",
+      "hint": "net"
+    },
+    {
+      "word": "laser",
+      "hint": "yag"
+    },
+    {
+      "word": "knock",
+      "hint": "rap"
+    },
+    {
+      "word": "jesse",
+      "hint": "gis"
+    },
+    {
+      "word": "panic",
+      "hint": "calm"
+    },
+    {
+      "word": "cares",
+      "hint": "fear"
+    },
+    {
+      "word": "blair",
+      "hint": "lyle"
+    },
+    {
+      "word": "halls",
+      "hint": "dorm"
+    },
+    {
+      "word": "setup",
+      "hint": "frame"
+    },
+    {
+      "word": "curve",
+      "hint": "cut"
+    },
+    {
+      "word": "mario",
+      "hint": "huh"
+    },
+    {
+      "word": "calif",
+      "hint": "cali"
+    },
+    {
+      "word": "drill",
+      "hint": "bore"
+    },
+    {
+      "word": "aging",
+      "hint": "old"
+    },
+    {
+      "word": "kerry",
+      "hint": "cree"
+    },
+    {
+      "word": "peers",
+      "hint": "pair"
+    },
+    {
+      "word": "alpha",
+      "hint": "letter"
+    },
+    {
+      "word": "blade",
+      "hint": "vane"
+    },
+    {
+      "word": "suite",
+      "hint": "host"
+    },
+    {
+      "word": "bryan",
+      "hint": "ryan"
+    },
+    {
+      "word": "sizes",
+      "hint": "big"
+    },
+    {
+      "word": "downs",
+      "hint": "fallen"
+    },
+    {
+      "word": "delhi",
+      "hint": "tak"
+    },
+    {
+      "word": "devil",
+      "hint": "demon"
+    },
+    {
+      "word": "wheat",
+      "hint": "corn"
+    },
+    {
+      "word": "helen",
+      "hint": "mrs"
+    },
+    {
+      "word": "marie",
+      "hint": "anne"
+    },
+    {
+      "word": "fatal",
+      "hint": "black"
+    },
+    {
+      "word": "bucks",
+      "hint": "clam"
+    },
+    {
+      "word": "mouse",
+      "hint": "rat"
+    },
+    {
+      "word": "alike",
+      "hint": "like"
+    },
+    {
+      "word": "plaza",
+      "hint": "mall"
+    },
+    {
+      "word": "sandy",
+      "hint": "mealy"
+    },
+    {
+      "word": "shake",
+      "hint": "wag"
+    },
+    {
+      "word": "villa",
+      "hint": "casa"
+    },
+    {
+      "word": "alert",
+      "hint": "aware"
+    },
+    {
+      "word": "clerk",
+      "hint": "seller"
+    },
+    {
+      "word": "burst",
+      "hint": "break"
+    },
+    {
+      "word": "breed",
+      "hint": "spawn"
+    },
+    {
+      "word": "zones",
+      "hint": "area"
+    },
+    {
+      "word": "czech",
+      "hint": "korea"
+    },
+    {
+      "word": "saudi",
+      "hint": "yemeni"
+    },
+    {
+      "word": "glenn",
+      "hint": "hey"
+    },
+    {
+      "word": "demon",
+      "hint": "ogre"
+    },
+    {
+      "word": "steep",
+      "hint": "bold"
+    },
+    {
+      "word": "milan",
+      "hint": "rome"
+    },
+    {
+      "word": "sweep",
+      "hint": "slam"
+    },
+    {
+      "word": "julie",
+      "hint": "judy"
+    },
+    {
+      "word": "fluid",
+      "hint": "runny"
+    },
+    {
+      "word": "betty",
+      "hint": "miss"
+    },
+    {
+      "word": "intel",
+      "hint": "news"
+    },
+    {
+      "word": "welsh",
+      "hint": "wels"
+    },
+    {
+      "word": "flags",
+      "hint": "pin"
+    },
+    {
+      "word": "voter",
+      "hint": "vote"
+    },
+    {
+      "word": "cabin",
+      "hint": "hut"
+    },
+    {
+      "word": "newer",
+      "hint": "more"
+    },
+    {
+      "word": "trout",
+      "hint": "fish"
+    },
+    {
+      "word": "kicks",
+      "hint": "bang"
+    },
+    {
+      "word": "beast",
+      "hint": "wolf"
+    },
+    {
+      "word": "chess",
+      "hint": "game"
+    },
+    {
+      "word": "lloyd",
+      "hint": "grey"
+    },
+    {
+      "word": "exile",
+      "hint": "deport"
+    },
+    {
+      "word": "basin",
+      "hint": "bowl"
+    },
+    {
+      "word": "hindu",
+      "hint": "hindi"
+    },
+    {
+      "word": "katie",
+      "hint": "kate"
+    },
+    {
+      "word": "fifty",
+      "hint": "l"
+    },
+    {
+      "word": "blown",
+      "hint": "pursy"
+    },
+    {
+      "word": "patch",
+      "hint": "mend"
+    },
+    {
+      "word": "ralph",
+      "hint": "ann"
+    },
+    {
+      "word": "codes",
+      "hint": "encode"
+    },
+    {
+      "word": "carol",
+      "hint": "song"
+    },
+    {
+      "word": "ruler",
+      "hint": "ndp"
+    },
+    {
+      "word": "smell",
+      "hint": "odor"
+    },
+    {
+      "word": "sheep",
+      "hint": "ewe"
+    },
+    {
+      "word": "rolls",
+      "hint": "coil"
+    },
+    {
+      "word": "quinn",
+      "hint": "god"
+    },
+    {
+      "word": "rises",
+      "hint": "lift"
+    },
+    {
+      "word": "jokes",
+      "hint": "jest"
+    },
+    {
+      "word": "ducks",
+      "hint": "douse"
+    },
+    {
+      "word": "pants",
+      "hint": "slacks"
+    },
+    {
+      "word": "weird",
+      "hint": "wyrd"
+    },
+    {
+      "word": "lobby",
+      "hint": "hall"
+    },
+    {
+      "word": "awful",
+      "hint": "dire"
     }
   ]
 }

+ 3 - 0
raw/07-feature-extend-targets-dict.txt

@@ -0,0 +1,3 @@
+Feature.
+- Extend "targets" word set to first 1000 words from "guessable" both in EN and in RU.
+- Add synonym hints to each word from the new targets.

+ 3 - 0
raw/08-remove-word-bank-targets-id.txt

@@ -0,0 +1,3 @@
+Refactor
+Files word-bank*.json under 'targets' array contain elements with 'id' key. The key is the same as index in the array. 
+Remove the 'id' key from the file, and always use array index in the code instead of the 'id' key. 

+ 3 - 3
raw/add-synonyms.py

@@ -268,7 +268,7 @@ def generate_english_hints(bank: dict) -> int:
             target["hint"] = hint
         else:
             missing += 1
-            print(f"  MISSING: {word} (id={target['id']})")
+            print(f"  MISSING: {word} (index={i})")
 
         # Be polite to the API
         if i % 20 == 19:
@@ -282,14 +282,14 @@ def generate_russian_hints(bank: dict) -> int:
     targets = bank["targets"]
     missing = 0
 
-    for target in targets:
+    for i, target in enumerate(targets):
         word = target["word"]
         hint = RU_HINTS.get(word)
         if hint:
             target["hint"] = hint
         else:
             missing += 1
-            print(f"  MISSING: {word} (id={target['id']})")
+            print(f"  MISSING: {word} (index={i})")
 
     return missing
 

+ 325 - 0
raw/generate-banks-1000.py

@@ -0,0 +1,325 @@
+#!/usr/bin/env python3
+"""Generate word-bank.json and word-bank-ru.json with 1000 targets each.
+
+Targets are the first 1000 words from the frequency-sorted guessable list
+(most common words first). IDs are sequential 1..1000.
+
+Uses:
+  - Datamuse API + WordNet for English synonyms
+  - Abramov's Russian synonym dictionary for Russian synonyms
+"""
+
+import json
+import sys
+import time
+from pathlib import Path
+
+RAW_DIR = Path(__file__).parent
+DATA_DIR = RAW_DIR.parent / "data"
+
+TARGET_COUNT = 1000
+
+# ---- English hint overrides (curated for quality) ----
+EN_HINT_OVERRIDES: dict[str, str] = {
+    "about": "around", "there": "present", "which": "that",
+    "other": "different", "would": "could", "these": "those",
+    "while": "during", "being": "living", "where": "location",
+    "still": "quiet", "never": "not ever", "every": "each",
+    "since": "because", "those": "these", "among": "between",
+    "money": "cash", "local": "nearby", "least": "fewest",
+    "month": "april", "river": "stream", "david": "giant",
+    "steve": "stephen", "didnt": "did not", "three": "trio",
+    "years": "decade", "going": "moving",
+    "state": "condition", "games": "sport", "found": "located",
+    "often": "frequent", "south": "southern", "small": "little",
+    "north": "northern", "third": "tertiary", "party": "group",
+    "began": "started", "young": "youth", "final": "last",
+    "given": "provided", "using": "employ", "field": "area",
+    "teams": "squad", "thing": "object", "white": "pale",
+    "march": "parade", "black": "dark", "built": "constructed",
+    "moved": "shifted", "added": "extra", "needs": "requires",
+    "short": "brief", "front": "forward", "seven": "seventh",
+    "title": "name", "comes": "arrives", "hours": "time",
+    "eight": "eighth", "green": "color", "round": "circular",
+    "union": "group", "lives": "exists", "radio": "broadcast",
+    "words": "phrase", "model": "design", "terms": "words",
+    "score": "points", "ready": "prepared", "grand": "large",
+}
+
+
+# ---- Russian hint overrides (curated for the most common words) ----
+RU_HINT_OVERRIDES: dict[str, str] = {
+    "жизнь": "бытие", "слово": "речь", "часть": "доля", "город": "посёлок",
+    "земля": "почва", "право": "закон", "образ": "облик", "закон": "правило",
+    "война": "битва", "голос": "звук", "книга": "роман", "число": "цифра",
+    "народ": "люди", "форма": "фигура", "улица": "дорога", "вечер": "закат",
+    "мысль": "идея", "месяц": "луна", "школа": "учёба", "театр": "сцена",
+    "смысл": "суть", "рынок": "базар", "центр": "середина", "ответ": "отклик",
+    "автор": "писатель", "совет": "наказ", "глава": "лидер", "наука": "знание",
+    "плечо": "рука", "точка": "пятно", "палец": "рука", "метод": "способ",
+    "фильм": "кино", "гость": "визитёр", "район": "зона", "кровь": "рана",
+    "армия": "войско", "класс": "группа", "герой": "смельчак", "спина": "тело",
+    "берег": "пляж", "фирма": "компания", "завод": "фабрика", "повод": "причина",
+    "выход": "уход", "текст": "письмо", "пункт": "место", "линия": "черта",
+    "среда": "окружение", "волос": "прядь", "ветер": "буря", "огонь": "пламя",
+    "страх": "ужас", "сфера": "область", "немец": "германец", "выбор": "отбор",
+    "масса": "вес", "кухня": "готовка", "товар": "продукт", "вывод": "итог",
+    "норма": "правило", "рамка": "граница", "прием": "встреча", "режим": "порядок",
+    "целое": "полное", "доход": "прибыль", "карта": "схема", "акция": "дело",
+    "фраза": "выражение", "толпа": "скопление", "птица": "пернатый", "запах": "аромат",
+    "поезд": "состав", "адрес": "жильё", "лидер": "вождь", "весна": "сезон",
+    "музей": "галерея", "сутки": "день", "еврей": "иудей", "сотня": "сто",
+    "труба": "дымоход", "масло": "жир", "экран": "дисплей", "вагон": "поезд",
+    "сезон": "пора", "длина": "размер", "доска": "дерево", "лодка": "судно",
+    "серия": "ряд", "кулак": "рука", "нефть": "топливо", "кость": "скелет",
+    "взрыв": "удар", "почва": "земля", "хвост": "конец", "строй": "порядок",
+    "отчет": "доклад", "забор": "стена", "пожар": "огонь", "ножка": "нога",
+}
+
+
+def load_dictionary(path: Path) -> list[str]:
+    """Read frequency-sorted word list (one word per line)."""
+    return [line.strip() for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
+
+
+def load_abramov_dict() -> dict[str, str]:
+    """Load Abramov's Russian synonym dictionary, returning {word: best_synonym}.
+    Downloads from GitHub if not already cached locally."""
+    path = RAW_DIR / "abramov-ru-synonyms.json"
+    if not path.exists():
+        print("  Downloading Abramov Russian synonym dictionary...")
+        import requests
+        url = "https://raw.githubusercontent.com/egorkaru/synonym_dictionary/master/dictionary.json"
+        resp = requests.get(url, timeout=30)
+        resp.raise_for_status()
+        path.write_text(resp.text, encoding="utf-8")
+    data = json.loads(path.read_text(encoding="utf-8"))
+    result: dict[str, str] = {}
+    for entry in data["wordlist"]:
+        name = entry["name"].lower()
+        synonyms = entry.get("synonyms", [])
+        if not synonyms:
+            continue
+        # Pick the best single-word synonym
+        for syn in synonyms:
+            # Clean: remove multi-word alternatives (split by ";"), pick first single word
+            parts = syn.replace(";", ",").split(",")
+            for part in parts:
+                part = part.strip().lower()
+                # Skip multi-word phrases, the word itself, and single letters
+                if " " in part or part == name or len(part) <= 1:
+                    continue
+                result[name] = part
+                break
+            if name in result:
+                break
+    print(f"  Loaded {len(result)} Russian synonyms from Abramov dictionary")
+    return result
+
+
+def get_english_synonyms_datamuse(word: str) -> list[str]:
+    """Get related words from Datamuse API."""
+    import requests
+    try:
+        resp = requests.get(
+            "https://api.datamuse.com/words",
+            params={"ml": word, "max": 8},
+            timeout=5,
+        )
+        resp.raise_for_status()
+        results = resp.json()
+        return [r["word"].lower() for r in results if " " not in r["word"] and r["word"].lower() != word]
+    except Exception as e:
+        print(f"    Datamuse error for '{word}': {e}", file=sys.stderr)
+        return []
+
+
+def get_english_synonyms_wordnet(word: str) -> list[str]:
+    """Get synonyms from WordNet."""
+    from nltk.corpus import wordnet as wn
+    syns = wn.synsets(word)
+    if not syns:
+        return []
+    lemmas = []
+    for s in syns[:10]:
+        for l in s.lemmas():
+            name = l.name().lower()
+            if "_" not in name and name != word and name not in lemmas:
+                lemmas.append(name)
+    return lemmas
+
+
+def pick_best_synonym(word: str, candidates: list[str]) -> str | None:
+    """Pick the best synonym from candidates."""
+    good = [c for c in candidates if len(c) <= 10 and "_" not in c]
+    if not good:
+        return None
+    good.sort(key=len)
+    return good[0]
+
+
+def generate_english_hints(targets: list[dict]) -> int:
+    """Add hints to English targets. Returns count of missing hints."""
+    missing = 0
+    for i, target in enumerate(targets):
+        word = target["word"]
+
+        # Check manual override first
+        if word in EN_HINT_OVERRIDES:
+            target["hint"] = EN_HINT_OVERRIDES[word]
+            continue
+
+        # Try Datamuse
+        candidates = get_english_synonyms_datamuse(word)
+        if not candidates:
+            candidates = get_english_synonyms_wordnet(word)
+
+        hint = pick_best_synonym(word, candidates)
+        if hint:
+            target["hint"] = hint
+        else:
+            missing += 1
+            if missing <= 10:
+                print(f"  MISSING: {word} (index={i})")
+
+        if (i + 1) % 50 == 0:
+            print(f"  Progress: {i + 1}/{len(targets)}")
+            time.sleep(0.5)
+
+    return missing
+
+
+def generate_russian_hints(targets: list[dict], abramov: dict[str, str]) -> int:
+    """Add hints to Russian targets from Abramov dictionary, with curated overrides."""
+    missing = 0
+    missing_words: list[str] = []
+
+    for target in targets:
+        word = target["word"]
+        # Check curated override first
+        if word in RU_HINT_OVERRIDES:
+            target["hint"] = RU_HINT_OVERRIDES[word]
+            continue
+        hint = abramov.get(word)
+        if hint:
+            target["hint"] = hint
+        else:
+            missing_words.append(word)
+            missing += 1
+            if missing <= 5:
+                idx = targets.index(target)
+                print(f"  MISSING: {word} (index={idx})")
+
+    return missing
+
+
+def generate_russian_hints_translation(targets: list[dict], missing_words: list[str]) -> int:
+    """Fallback: translate RU→EN, find English synonym, translate back to RU."""
+    from deep_translator import GoogleTranslator
+    from nltk.corpus import wordnet as wn
+    import requests as req
+
+    target_map = {t["word"]: t for t in targets}
+    still_missing = 0
+
+    for i, word in enumerate(missing_words):
+        try:
+            # Step 1: Translate RU → EN
+            en = GoogleTranslator(source='ru', target='en').translate(word).lower()
+            time.sleep(0.15)
+
+            # Step 2: Find English synonym (WordNet primary synset first, then Datamuse)
+            synonym = None
+            syns = wn.synsets(en)
+            if syns:
+                primary = syns[0]
+                for l in primary.lemmas():
+                    name = l.name().lower()
+                    if name != en and '_' not in name:
+                        synonym = name
+                        break
+
+            if not synonym:
+                # Try Datamuse as fallback
+                try:
+                    resp = req.get("https://api.datamuse.com/words",
+                                   params={"ml": en, "max": 5}, timeout=5)
+                    for r in resp.json():
+                        dm_word = r["word"]
+                        if " " not in dm_word and dm_word != en:
+                            synonym = dm_word
+                            break
+                except Exception:
+                    pass
+
+            if synonym:
+                # Step 3: Translate back EN → RU
+                ru_syn = GoogleTranslator(source='en', target='ru').translate(synonym).lower()
+                time.sleep(0.15)
+
+                # Quality filters: skip if same as input, multi-word, or too long
+                if ru_syn != word and ' ' not in ru_syn and len(ru_syn) <= 15 and ru_syn != en:
+                    target_map[word]["hint"] = ru_syn
+                else:
+                    still_missing += 1
+            else:
+                still_missing += 1
+        except Exception:
+            still_missing += 1
+
+        if (i + 1) % 50 == 0:
+            print(f"  Translation progress: {i + 1}/{len(missing_words)} (missing: {still_missing})")
+
+    return still_missing
+
+
+def build_bank(dict_path: Path, output_path: Path, language: str, abramov: dict[str, str] | None = None) -> None:
+    """Build a word bank with 1000 targets and hints."""
+    guessable = load_dictionary(dict_path)
+    if len(guessable) < TARGET_COUNT:
+        print(f"  WARNING: {dict_path} has only {len(guessable)} words, using all")
+        count = len(guessable)
+    else:
+        count = TARGET_COUNT
+
+    targets = [{"word": guessable[i]} for i in range(count)]
+
+    print(f"  Generating hints for {len(targets)} targets ({language})...")
+    if language == "en":
+        missing = generate_english_hints(targets)
+    else:
+        missing = generate_russian_hints(targets, abramov or {})
+
+    bank = {"guessable": guessable, "targets": targets}
+    output_path.write_text(
+        json.dumps(bank, ensure_ascii=False, indent=2) + "\n",
+        encoding="utf-8",
+    )
+
+    print(f"  Wrote {output_path}: {len(guessable)} guessable, {len(targets)} targets, {len(targets) - missing} with hints, {missing} missing")
+
+
+def main():
+    print("Loading Abramov Russian synonym dictionary...")
+    abramov = load_abramov_dict()
+
+    print("\n=== English word bank ===")
+    build_bank(
+        RAW_DIR / "english-5letter-freq-sortfreq-wordsonly.txt",
+        DATA_DIR / "word-bank.json",
+        "en",
+    )
+
+    print("\n=== Russian word bank ===")
+    build_bank(
+        RAW_DIR / "russian-5letter-freq-sortfreq-wordsonly.txt",
+        DATA_DIR / "word-bank-ru.json",
+        "ru",
+        abramov,
+    )
+
+    print("\nDone. Run 'npm run solve' to validate solvability.")
+
+
+if __name__ == "__main__":
+    main()

+ 1 - 2
raw/generate-banks.py

@@ -45,7 +45,7 @@ def generate_bank(dict_path: Path, output_path: Path) -> None:
     rng = np.random.default_rng(SEED)
     guessable = load_dictionary(dict_path)
     indices = select_target_indices(rng, len(guessable), TARGET_COUNT)
-    targets = [{"id": i + 1, "word": guessable[idx]} for i, idx in enumerate(indices)]
+    targets = [{"word": guessable[idx]} for i, idx in enumerate(indices)]
 
     bank = {"guessable": guessable, "targets": targets}
     output_path.write_text(
@@ -59,7 +59,6 @@ def generate_bank(dict_path: Path, output_path: Path) -> None:
     target_words = [t["word"] for t in targets]
     assert all(w in guessable for w in target_words), "Target word not in guessable!"
     assert len(set(target_words)) == TARGET_COUNT, f"Duplicate target words ({len(set(target_words))} unique)!"
-    assert [t["id"] for t in targets] == list(range(1, TARGET_COUNT + 1)), "IDs not contiguous 1..100!"
     print(f"  Top 5: {[targets[i]['word'] for i in range(5)]}")
 
 def main():

+ 2 - 2
server/src/daily-word.ts

@@ -2,7 +2,7 @@
  * Compute the daily word ID deterministically from the current date.
  * Timezone: America/New_York (EST/EDT).
  *
- * Formula: (daysSinceEpoch mod targetCount) + 1
+ * Formula: daysSinceEpoch mod targetCount (0-indexed)
  * Epoch: 2026-01-01 (arbitrary fixed reference)
  *
  * Uses Intl.DateTimeFormat to extract the date in the target timezone,
@@ -40,5 +40,5 @@ export function getDailyWordId(targetCount: number, now: Date = new Date()): num
     throw new Error('targetCount must be positive');
   }
   const days = getDaysSinceEpoch(now);
-  return (days % targetCount) + 1;
+  return days % targetCount;
 }

+ 6 - 5
server/src/play-again.ts

@@ -15,14 +15,14 @@ export function selectPlayAgainWord(
   targets: TargetWord[],
   skillMetric: number,
   cache: Map<number, CachedResult>,
-): TargetWord {
+): { target: TargetWord; index: number } {
   if (targets.length === 0) {
     throw new Error('No target words available');
   }
 
   // Compute weights: closer difficulty = higher weight
-  const weights = targets.map((t) => {
-    const diff = cache.get(t.id)?.difficulty ?? 3.0;
+  const weights = targets.map((_t, i) => {
+    const diff = cache.get(i)?.difficulty ?? 3.0;
     const delta = diff - skillMetric;
     return 1 / (1 + delta * delta);
   });
@@ -34,10 +34,11 @@ export function selectPlayAgainWord(
   for (let i = 0; i < targets.length; i++) {
     r -= weights[i];
     if (r <= 0) {
-      return targets[i];
+      return { target: targets[i], index: i };
     }
   }
 
   // Fallback (floating point edge case)
-  return targets[targets.length - 1];
+  const lastIdx = targets.length - 1;
+  return { target: targets[lastIdx], index: lastIdx };
 }

+ 5 - 5
server/src/routes/play-again.ts

@@ -15,18 +15,18 @@ export function createPlayAgainRouter(wordBank: WordBank, cache: Map<number, Cac
       return;
     }
 
-    const target = selectPlayAgainWord(wordBank.targets, skillMetric, cache);
-    res.json({ wordId: target.id });
+    const { target, index } = selectPlayAgainWord(wordBank.targets, skillMetric, cache);
+    res.json({ wordId: index });
 
     // Pre-warm cache so solver replays are ready (or nearly ready) by the time
     // the player finishes their last guess.
-    if (!cache.has(target.id)) {
-      cache.set(target.id, computeReplays(target.word, wordBank.guessable));
+    if (!cache.has(index)) {
+      cache.set(index, computeReplays(target.word, wordBank.guessable));
 
       const targetWord = target.word;
       const guessable = wordBank.guessable;
       runSolverInWorker({ target: targetWord, allWords: guessable, mode: 'full' })
-        .then((full) => { cache.set(target.id, full); })
+        .then((full) => { cache.set(index, full); })
         .catch((err) => { console.error('Solver worker failed:', err); });
     }
   });

+ 2 - 2
server/src/validate.ts

@@ -9,11 +9,11 @@ export function isValidGuess(wordBank: WordBank, guess: string): boolean {
 }
 
 /**
- * Look up a target word by ID. Returns undefined if not found.
+ * Look up a target word by array index. Returns undefined if out of bounds.
  */
 export function getTargetWord(
   wordBank: WordBank,
   wordId: number
 ): TargetWord | undefined {
-  return wordBank.targets.find((t) => t.id === wordId);
+  return wordBank.targets[wordId];
 }

+ 2 - 2
shared/src/word-bank.ts

@@ -5,9 +5,9 @@ export interface SolverReplay {
   steps: string[];
 }
 
-/** A target word (difficulty and replays are computed at runtime by the server) */
+/** A target word (difficulty and replays are computed at runtime by the server).
+ *  Index in the targets array serves as the word's identifier (wordId). */
 export interface TargetWord {
-  id: number;
   word: string;
   /** Synonym hint shown after 5th unsuccessful guess */
   hint?: string;