{"format":"murdoku-puzzle/1","id":"night-train","version":4,"difficulty":"hard","level":7,"size":{"rows":12,"cols":12},"languages":["en","hu","de","fr","es","it","pt","ca","nl","pl","cs","ro","fi","tr","el","ru","uk","vi","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"De nachttrein","tagline":"23:40 · Nachtexpres · Spoor 3","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-14","story":"De nachtexpres wacht op spoor 3 op vertrek. Twintig minuten voor vertrek wordt de conducteur, Victor, dood aangetroffen. Elf mensen waren in de trein en op het station – een van hen is de moordenaar. Lees de verklaring van elke verdachte en vind ieders exacte positie op de plaats delict. De moordenaar was alleen met het slachtoffer, in dezelfde zone.","rules":{"standard":["In elke <b>rij</b> en elke <b>kolom</b> staat precies <b>één persoon</b>. Zodra je iemand plaatst, streep je de hele rij en kolom door.","<b>„Naast”</b> = direct links, rechts, erboven of eronder, en <b>in dezelfde zone</b>.","Richtingen slaan op rijen en kolommen, niet per se dezelfde kolom: <i>„hij was ten noorden van”</i> = in een hogere rij; <i>„precies één rij ten noorden van hem was iemand”</i> = de persoon in de rij direct erboven, in welke kolom dan ook. <i>„Staand”</i> = niet op een stoel en niet op een bed."],"special":["Iedereen van <b>Hugo tot Victor</b> hoorde bij het <b>personeel</b>; alle anderen waren <b>reizigers</b>. Alleen personeel mocht in de <b>bagagewagen</b> en het <b>loket</b> zijn.","In elke zone van het <b>stationsgebouw</b> was <b>minstens één persoon</b>."]},"roleNames":{"passenger":"reiziger","staff":"personeel","victim":"slachtoffer"},"personGroups":[{"id":"passengers","name":"Reizigers","persons":["A","B","C","D","E","F","G"]},{"id":"staff","name":"Personeel","persons":["H","I","J","K","V"]}],"map":{"groups":[{"id":"train","name":"TREIN","style":"train"},{"id":"platform","name":"PERRON","style":"platform"},{"id":"building","name":"STATIONSGEBOUW","style":"building"}],"gaps":[{"afterRow":4,"px":22,"style":"rails"},{"afterRow":6,"px":12,"style":"wall"}],"areas":[{"id":"Sleeper A","cells":[[1,1],[1,2],[2,1],[2,2],[3,1],[3,2],[4,1],[4,2]],"fill":"#cdd8ea","group":"train","name":"Slaapcoupé A"},{"id":"Sleeper B","cells":[[1,3],[1,4],[2,3],[2,4],[3,3],[3,4],[4,3],[4,4]],"fill":"#b9cae3","group":"train","name":"Slaapcoupé B"},{"id":"Dining Car","cells":[[1,5],[1,6],[1,7],[1,8],[2,5],[2,6],[2,7],[2,8],[3,5],[3,6],[3,7],[3,8],[4,5],[4,6],[4,7],[4,8]],"fill":"#f0dfbf","pattern":"planks","group":"train","name":"Restauratiewagen"},{"id":"Bar Car","cells":[[1,9],[1,10],[2,9],[2,10],[3,9],[3,10],[4,9],[4,10]],"fill":"#e6cc9c","pattern":"planks","group":"train","name":"Barwagen"},{"id":"Luggage Car","cells":[[1,11],[1,12],[2,11],[2,12],[3,11],[3,12],[4,11],[4,12]],"fill":"#d3cfc4","group":"train","name":"Bagagewagen"},{"id":"Platform","cells":[[5,1],[5,2],[5,3],[5,4],[5,5],[5,6],[5,7],[5,8],[5,9],[5,10],[5,11],[5,12],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6],[6,7],[6,8],[6,9],[6,10],[6,11],[6,12]],"fill":"#dddcd6","group":"platform","labelAt":[6,6.5],"name":"Perron"},{"id":"Ticket Office","cells":[[7,1],[7,2],[7,3],[8,1],[8,2],[8,3],[9,1],[9,2],[9,3]],"fill":"#ead1ca","group":"building","name":"Loket"},{"id":"Waiting Room","cells":[[7,4],[7,5],[7,6],[7,7],[7,8],[8,4],[8,5],[8,6],[8,7],[8,8],[9,4],[9,5],[9,6],[9,7],[9,8]],"fill":"#dfe7cd","pattern":"marble","group":"building","name":"Wachtkamer"},{"id":"Newsstand","cells":[[7,9],[7,10],[7,11],[7,12],[8,9],[8,10],[8,11],[8,12]],"fill":"#f6e5b2","group":"building","name":"Kiosk"},{"id":"Cafe","cells":[[9,9],[9,10],[9,11],[9,12],[10,9],[10,10],[10,11],[10,12],[11,9],[11,10],[11,11],[11,12],[12,9],[12,10],[12,11],[12,12],[10,8],[11,8],[12,8]],"fill":"#f1d3c0","group":"building","labelAt":[12,10.5],"name":"Café"},{"id":"Restrooms","cells":[[10,1],[10,2],[10,3],[11,1],[11,2],[11,3],[12,1],[12,2],[12,3]],"fill":"#cfe4e8","pattern":"tiles","group":"building","name":"Toiletten"},{"id":"Entrance Hall","cells":[[10,4],[10,5],[10,6],[10,7],[11,4],[11,5],[11,6],[11,7],[12,4],[12,5],[12,6],[12,7]],"fill":"#e8e4d9","pattern":"marble","group":"building","name":"Stationshal"}],"objectTypes":{"bed":{"occupiable":true,"name":"bed","icon":"<rect x=\"7\" y=\"1\" width=\"32\" height=\"44\" rx=\"6\" fill=\"#f7f4ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"5\" width=\"24\" height=\"10\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#8c8a82\"/><rect x=\"9\" y=\"19\" width=\"28\" height=\"22\" rx=\"4\" fill=\"#9fb3d6\"/>","iconTall":"<rect x=\"7\" y=\"3\" width=\"32\" height=\"86\" rx=\"7\" fill=\"#f7f4ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"7\" width=\"24\" height=\"12\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#8c8a82\"/><rect x=\"9\" y=\"24\" width=\"28\" height=\"61\" rx=\"4\" fill=\"#9fb3d6\"/>"},"chair":{"occupiable":true,"legendIcons":["chair","bench"],"name":"stoel / bank","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"stool":{"occupiable":true,"solverType":"chair","legendGroup":"chair","name":"kruk","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"bench":{"occupiable":true,"solverType":"chair","legendGroup":"chair","name":"bank","icon":"<rect x=\"7\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"35.8\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"4\" y=\"8\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.3\"/><rect x=\"4\" y=\"17.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"32.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/>"},"table":{"occupiable":false,"name":"tafel","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"counter":{"occupiable":false,"name":"balie","icon":"<rect x=\"0\" y=\"10\" width=\"46\" height=\"26\" fill=\"#a97c50\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"0\" y=\"10\" width=\"46\" height=\"7\" fill=\"#c9a06f\"/>"},"shelf":{"occupiable":false,"name":"kast","icon":"<rect x=\"8\" y=\"5\" width=\"30\" height=\"36\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"9\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/><rect x=\"11\" y=\"20\" width=\"24\" height=\"8\" fill=\"#d4b98f\"/><rect x=\"11\" y=\"31\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/>"},"luggage":{"occupiable":false,"name":"bagage","icon":"<rect x=\"8\" y=\"22\" width=\"30\" height=\"16\" rx=\"3\" fill=\"#6f5238\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><rect x=\"12\" y=\"9\" width=\"22\" height=\"12\" rx=\"3\" fill=\"#a15c3e\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><rect x=\"19\" y=\"5\" width=\"8\" height=\"4\" rx=\"2\" fill=\"#3f2d1d\"/>"},"trolley":{"occupiable":false,"name":"bagagekar","icon":"<rect x=\"7\" y=\"12\" width=\"32\" height=\"18\" rx=\"3\" fill=\"#9aa1a8\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"6\" width=\"24\" height=\"10\" rx=\"2\" fill=\"#a15c3e\" stroke=\"#3f2d1d\"/><circle cx=\"13\" cy=\"35\" r=\"4\" fill=\"#2b2f33\"/><circle cx=\"33\" cy=\"35\" r=\"4\" fill=\"#2b2f33\"/><line x1=\"39\" y1=\"12\" x2=\"42\" y2=\"4\" stroke=\"#3d444b\" stroke-width=\"2\"/>"},"pillar":{"occupiable":false,"name":"pilaar","icon":"<circle cx=\"23\" cy=\"23\" r=\"12\" fill=\"#b9b6ae\" stroke=\"#5b5852\" stroke-width=\"2\"/><circle cx=\"23\" cy=\"23\" r=\"6\" fill=\"#9a968d\"/>"},"vending":{"occupiable":false,"name":"automaat","icon":"<rect x=\"9\" y=\"4\" width=\"28\" height=\"38\" rx=\"3\" fill=\"#2f3b4c\" stroke=\"#161c25\" stroke-width=\"1.5\"/><rect x=\"13\" y=\"8\" width=\"16\" height=\"18\" fill=\"#7fc4d8\"/><rect x=\"13\" y=\"29\" width=\"20\" height=\"4\" fill=\"#f0b429\"/><rect x=\"13\" y=\"35\" width=\"20\" height=\"3\" fill=\"#8a94a0\"/>"},"tv":{"occupiable":false,"name":"scherm","icon":"<rect x=\"6\" y=\"10\" width=\"34\" height=\"24\" rx=\"2\" fill=\"#1c232c\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"14\" width=\"22\" height=\"3\" fill=\"#f0b429\"/><rect x=\"9\" y=\"20\" width=\"26\" height=\"3\" fill=\"#f0b429\"/><rect x=\"9\" y=\"26\" width=\"18\" height=\"3\" fill=\"#7fc4d8\"/><rect x=\"18\" y=\"34\" width=\"10\" height=\"4\" fill=\"#0b0e12\"/>"},"plant":{"occupiable":false,"name":"plant","icon":"<path d=\"M15 28 h16 l-2 12 h-12 z\" fill=\"#c2643a\" stroke=\"#7a3d20\" stroke-width=\"1.2\"/><ellipse cx=\"15\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(-30 15 17)\"/><ellipse cx=\"31\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(30 31 17)\"/><ellipse cx=\"23\" cy=\"13\" rx=\"6\" ry=\"11\" fill=\"#57a35e\"/>"},"sink":{"occupiable":false,"name":"wastafel","icon":"<rect x=\"7\" y=\"9\" width=\"32\" height=\"28\" rx=\"4\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"24\" rx=\"11\" ry=\"7\" fill=\"#ffffff\" stroke=\"#8a949c\"/><circle cx=\"23\" cy=\"24\" r=\"2\" fill=\"#8a949c\"/><rect x=\"21\" y=\"10\" width=\"4\" height=\"6\" fill=\"#8a949c\"/>"},"toilet":{"occupiable":false,"name":"toilet","icon":"<rect x=\"14\" y=\"6\" width=\"18\" height=\"10\" rx=\"2\" fill=\"#dfe6ea\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"30\" rx=\"11\" ry=\"12\" fill=\"#ffffff\" stroke=\"#6b7680\" stroke-width=\"1.5\"/><ellipse cx=\"23\" cy=\"30\" rx=\"6\" ry=\"7\" fill=\"#c9d6dd\"/>"}},"wallTypes":{"window":{"name":"raam","icon":"<rect x=\"4\" y=\"18\" width=\"38\" height=\"8\" rx=\"2\" fill=\"#bfe3f2\" stroke=\"#4a7c95\"/>"},"door":{"name":"deur","icon":"<rect x=\"8\" y=\"17\" width=\"30\" height=\"10\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\"/><circle cx=\"34\" cy=\"22\" r=\"1.6\" fill=\"#f0b429\"/>"}},"objects":[{"cell":[1,1],"type":"bed","span":[2,1]},{"cell":[3,1],"type":"table"},{"cell":[4,1],"type":"shelf"},{"cell":[1,4],"type":"bed","span":[2,1]},{"cell":[3,4],"type":"table"},{"cell":[4,4],"type":"shelf"},{"cell":[2,5],"type":"table"},{"cell":[2,8],"type":"table"},{"cell":[1,5],"type":"chair"},{"cell":[3,5],"type":"chair"},{"cell":[1,8],"type":"chair"},{"cell":[3,8],"type":"chair"},{"cell":[4,8],"type":"plant"},{"cell":[2,9],"type":"counter"},{"cell":[3,9],"type":"counter"},{"cell":[2,10],"type":"stool"},{"cell":[3,10],"type":"stool"},{"cell":[1,11],"type":"luggage"},{"cell":[1,12],"type":"luggage"},{"cell":[2,12],"type":"luggage"},{"cell":[4,11],"type":"luggage"},{"cell":[3,12],"type":"luggage"},{"cell":[6,3],"type":"bench"},{"cell":[6,8],"type":"bench"},{"cell":[5,5],"type":"pillar"},{"cell":[5,10],"type":"pillar"},{"cell":[5,12],"type":"trolley"},{"cell":[6,1],"type":"vending"},{"cell":[7,1],"type":"counter"},{"cell":[7,2],"type":"counter"},{"cell":[7,3],"type":"counter"},{"cell":[8,2],"type":"chair"},{"cell":[8,1],"type":"shelf"},{"cell":[9,3],"type":"shelf"},{"cell":[7,6],"type":"tv"},{"cell":[8,4],"type":"chair"},{"cell":[8,5],"type":"chair"},{"cell":[8,7],"type":"chair"},{"cell":[8,8],"type":"chair"},{"cell":[9,7],"type":"plant"},{"cell":[7,11],"type":"shelf"},{"cell":[7,12],"type":"shelf"},{"cell":[8,12],"type":"counter"},{"cell":[9,10],"type":"counter"},{"cell":[9,11],"type":"counter"},{"cell":[9,12],"type":"shelf"},{"cell":[11,9],"type":"table"},{"cell":[11,11],"type":"table"},{"cell":[10,9],"type":"chair"},{"cell":[12,9],"type":"chair"},{"cell":[10,11],"type":"chair"},{"cell":[12,11],"type":"chair"},{"cell":[10,1],"type":"sink"},{"cell":[12,1],"type":"toilet"},{"cell":[10,4],"type":"plant"}],"wallFeatures":[{"cell":[1,1],"side":"N","type":"window"},{"cell":[1,2],"side":"N","type":"window"},{"cell":[1,3],"side":"N","type":"window"},{"cell":[1,4],"side":"N","type":"window"},{"cell":[1,5],"side":"N","type":"window"},{"cell":[1,6],"side":"N","type":"window"},{"cell":[1,7],"side":"N","type":"window"},{"cell":[1,8],"side":"N","type":"window"},{"cell":[1,9],"side":"N","type":"window"},{"cell":[1,10],"side":"N","type":"window"},{"cell":[12,5],"side":"S","type":"door"},{"cell":[12,6],"side":"S","type":"door"}],"extras":[{"type":"safetyLine","row":5}],"cellSize":46},"persons":[{"id":"A","name":"Anna","gender":"F","role":"passenger","color":"#c62828","avatar":{"bg":"#c96a4a","skin":"#f1c8a5","hair":"#3b2418","style":"long","shirt":"#3d8a8a"},"clue":"Ze was naast een <b>plant</b>. Ze <b>zat niet</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Anna\"><rect width=\"80\" height=\"80\" fill=\"#c96a4a\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#3b2418\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3d8a8a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#3b2418\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"passenger","constraints":[{"type":"beside","obj":"plant"},{"type":"not_on","obj":"chair"}]},{"id":"B","name":"Bruno","gender":"M","role":"passenger","color":"#2e7d32","avatar":{"bg":"#4b6d4e","skin":"#e7b98f","hair":"#5a3a22","style":"short","shirt":"#6b7a3a","beard":true},"clue":"Precies <b>één kolom ten westen</b> van hem was een <b>vrouw</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Bruno\"><rect width=\"80\" height=\"80\" fill=\"#4b6d4e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#6b7a3a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#5a3a22\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#5a3a22\"/></svg>","solverRole":"passenger","constraints":[{"type":"rel_any","dir":"W","exact":1,"gender":"F"}]},{"id":"C","name":"Clara","gender":"F","role":"passenger","color":"#1565c0","avatar":{"bg":"#6a4d8a","skin":"#f4d3b6","hair":"#d9b464","style":"bob","shirt":"#8a4d7a","glasses":true},"clue":"Ze was naast een <b>kast</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clara\"><rect width=\"80\" height=\"80\" fill=\"#6a4d8a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8a4d7a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f4d3b6\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d3b6\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#d9b464\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/></svg>","solverRole":"passenger","constraints":[{"type":"beside","obj":"shelf"}]},{"id":"D","name":"Dominic","gender":"M","role":"passenger","color":"#6a1b9a","avatar":{"bg":"#33526e","skin":"#d9a57a","hair":"#1c1a1a","style":"short","shirt":"#6f6f73","headphones":true},"clue":"Hij <b>zat op een stoel</b>. Precies <b>één rij ten noorden</b> van hem was een lid van het <b>personeel</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dominic\"><rect width=\"80\" height=\"80\" fill=\"#33526e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#6f6f73\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#d9a57a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#d9a57a\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M25 34 Q25 12 40 12 Q55 12 55 34\" fill=\"none\" stroke=\"#111\" stroke-width=\"3\"/><rect x=\"21\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/><rect x=\"52\" y=\"30\" width=\"7\" height=\"12\" rx=\"3\" fill=\"#111\"/></svg>","solverRole":"passenger","constraints":[{"type":"on","obj":"chair"},{"type":"rel_any","dir":"N","exact":1,"role":"staff"}]},{"id":"E","name":"Esther","gender":"F","role":"passenger","color":"#e65100","avatar":{"bg":"#8c3a3a","skin":"#f6d8c0","hair":"#b7482c","style":"curly","shirt":"#3d7a4b"},"clue":"Ze <b>zat op een stoel</b> naast een <b>tafel</b>. Ze was <b>alleen</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Esther\"><rect width=\"80\" height=\"80\" fill=\"#8c3a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3d7a4b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 Z\" fill=\"#b7482c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"passenger","constraints":[{"type":"on","obj":"chair"},{"type":"beside","obj":"table"},{"type":"alone"}]},{"id":"F","name":"Felix","gender":"M","role":"passenger","color":"#00838f","avatar":{"bg":"#7a6a3c","skin":"#e9c6a4","hair":"#c9c3b8","style":"bald","shirt":"#5a3f2a","glasses":true,"mustache":true},"clue":"Hij was in de <b>eerste kolom</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Felix\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5a3f2a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e9c6a4\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e9c6a4\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#c9c3b8\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#c9c3b8\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/></svg>","solverRole":"passenger","constraints":[{"type":"col","cols":[1]}]},{"id":"G","name":"Greta","gender":"F","role":"passenger","color":"#ad1457","avatar":{"bg":"#3a5a6e","skin":"#f0cdb0","hair":"#cfcfd2","style":"bun","shirt":"#2b3d66","necklace":true},"clue":"Ze <b>stond</b> naast een <b>tafel</b>.","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Greta\"><rect width=\"80\" height=\"80\" fill=\"#3a5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2b3d66\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#cfcfd2\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#cfcfd2\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"passenger","constraints":[{"type":"beside","obj":"table"},{"type":"not_on","obj":"chair"},{"type":"not_on","obj":"bed"}]},{"id":"H","name":"Hugo","gender":"M","role":"staff","color":"#5d4037","avatar":{"bg":"#2c3e58","skin":"#8a5a3c","hair":"#1a1210","style":"short","shirt":"#22406f","cap":true},"clue":"Hij was naast de <b>bagagekar</b>.","job":"kruier","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Hugo\"><rect width=\"80\" height=\"80\" fill=\"#2c3e58\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#8a5a3c\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#8a5a3c\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1a1210\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"trolley"}]},{"id":"I","name":"Iris","gender":"F","role":"staff","color":"#827717","avatar":{"bg":"#5b4a6e","skin":"#f1cfb2","hair":"#2b1c14","style":"ponytail","shirt":"#22406f","glasses":true},"clue":"Ze <b>zat op een stoel</b>. Precies <b>twee rijen ten zuiden</b> van haar was een <b>man</b>.","job":"loketmedewerkster","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Iris\"><rect width=\"80\" height=\"80\" fill=\"#5b4a6e\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#2b1c14\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1cfb2\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1cfb2\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#2b1c14\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/></svg>","solverRole":"staff","constraints":[{"type":"on","obj":"chair"},{"type":"rel_any","dir":"S","exact":2,"gender":"M"}]},{"id":"J","name":"Jonas","gender":"M","role":"staff","color":"#283593","avatar":{"bg":"#3f3f3f","skin":"#e8bf9a","hair":"#2a1d16","style":"slick","shirt":"#1f2530","bow":true},"clue":"Hij was naast een <b>balie</b>. Hij was <b>ten noorden</b> van <b>Hugo</b>.","job":"barman","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Jonas\"><rect width=\"80\" height=\"80\" fill=\"#3f3f3f\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1f2530\"/><path d=\"M40 60 l-8 -4 v8 z M40 60 l8 -4 v8 z\" fill=\"#b8302b\"/><circle cx=\"40\" cy=\"60\" r=\"2\" fill=\"#7a1f1c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e8bf9a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e8bf9a\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#2a1d16\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"counter"},{"type":"rel","q":"H","dir":"N"}]},{"id":"K","name":"Kate","gender":"F","role":"staff","color":"#33691e","avatar":{"bg":"#8a5a2a","skin":"#f4d5bb","hair":"#6b3f22","style":"bob","shirt":"#22406f","apron":true},"clue":"Ze was in de <b>onderste rij</b>.","job":"cafémedewerkster","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Kate\"><rect width=\"80\" height=\"80\" fill=\"#8a5a2a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#6b3f22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f4d5bb\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f4d5bb\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#6b3f22\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"staff","constraints":[{"type":"row","rows":[12]}]},{"id":"V","name":"Victor","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#8a8a8a","style":"short","shirt":"#22406f","cap":true,"mustache":true,"mustacheColor":"#777"},"clue":"<b>Het slachtoffer.</b> Hij was alleen met de moordenaar.","job":"conducteur","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Victor\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#22406f\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#8a8a8a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#777\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[]}],"victim":"V","murderer":"G","solution":{"E":[1,5],"V":[2,4],"G":[3,3],"J":[4,9],"H":[5,11],"D":[6,8],"C":[7,10],"I":[8,2],"A":[9,6],"B":[10,7],"F":[11,1],"K":[12,12]},"walkthrough":[{"focus":{"group":"building"},"text":"Het <b>stationsgebouw</b> beslaat rij 7–12, zes rijen – er waren dus precies <b>zes mensen</b> binnen. In elk van de zes zones was iemand (speciale regel 2), dus <b>elke zone van het gebouw bevat precies één persoon</b>. Niemand in het gebouw was bij iemand, en V (die bij de moordenaar was) kan er niet zijn. Zo ook: de twee perronrijen bevatten precies <b>twee</b> mensen en de trein precies <b>vier</b>."},{"cand":{"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"H was naast een <b>bagagekar</b> – de enige bagagekar staat op het perron, dus H is in rij 5 of 6 (R5C11 of R6C12). J was <b>ten noorden</b> van H, dus J is uiterlijk in rij 5; de enige balie zo ver naar het noorden staat in de <b>barwagen</b>. Dus J is in de barwagen."},{"place":["I"],"cand":{"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"Het <b>loket</b> (alleen personeel) bevat precies één persoon. H is op het perron, J in de barwagen, K in de onderste rij en V kan niet alleen zijn – dus alleen <b>I</b> kan daar zijn, op de enige stoel: I zit op <b>R8C2</b>. Streep rij 8 en kolom 2 door."},{"cand":{"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,9],[10,10],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9],[2,10],[3,10]]},"text":"Precies twee rijen ten zuiden van I, in <b>rij 10, was een man</b>. D zat, maar boven de stoelen van rij 10 (café) kan in rij 9 geen personeel zijn; F is in kolom 1 (R10C1 is een wastafel); H en J zijn op het perron en in de trein; V kan niet in het gebouw zijn. Blijft over <b>B: hij is in rij 10</b>. Streep rij 10 door voor alle anderen."},{"place":["C"],"cand":{"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9]]},"text":"In de <b>kiosk</b> is ook iemand. Daar is geen plant, tafel, stoel of bagagekar; B is in rij 10, K in rij 12, F in kolom 1, het personeel is elders. Alleen <b>C</b> past (naast een kast), en omdat rij 8 bezet is, staat C op <b>R7C10</b>. Streep rij 7 en kolom 10 door – daarmee vallen ook de barkrukken af, dus J is in kolom 9."},{"cand":{"E":[[1,5],[3,5],[1,8],[3,8]],"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,11],[10,12]],"H":[[5,11],[6,12]],"J":[[1,9],[4,9]]},"text":"K is in de onderste rij, dus niemand anders is in <b>rij 12</b>. E zat op een stoel naast een tafel: zulke stoelen staan in de restauratiewagen en in het café, maar de caféstoelen staan in rij 10 en 12 (de rijen van B en K). Dus E is in de <b>restauratiewagen</b>, <b>alleen</b>: niemand anders kan daar zijn."},{"place":["H"],"cand":{"D":[[6,3],[6,8]],"E":[[1,5],[3,5],[1,8],[3,8]],"B":[[10,3],[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"D zat op een stoel. De stoelen van de restauratiewagen vallen af (E is alleen), de barkrukken staan in kolom 10 (C), de stoelen van de wachtkamer in rij 8 (I), de caféstoelen in rij 10 en 12 (B, K), en een reiziger mag het loket niet in. Alleen de twee banken op het perron blijven over: <b>D is in rij 6</b>. Dan kan H alleen op <b>R5C11</b> zijn – en het perron is vol (D en H)."},{"place":["G"],"cand":{"V":[[1,4],[2,4]],"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"V moet in de trein zijn, in één wagen <b>alleen met de moordenaar</b>. In de restauratiewagen is E alleen. De vrije vakjes van de barwagen naast J liggen in kolom 10 (C). In de bagagewagen mag alleen personeel, maar H, I, J en K zijn elders. In slaapcoupé A ligt het bed in kolom 1 en de vloer in kolom 2 (I) – twee mensen passen er niet. Blijft over <b>slaapcoupé B</b>, waar alleen <b>G</b> bij V kan zijn (ze stond naast een tafel): G is op <b>R3C3</b>. Greta is de moordenaar! Streep rij 3 en kolom 3 door."},{"place":["F"],"cand":{"V":[[1,4],[2,4]],"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]],"J":[[1,9],[4,9]]},"text":"De trein heeft nu zijn vier mensen: E, J, V en G. Dus F (kolom 1) kan niet op het bed van slaapcoupé A zijn, en het perron is vol: F is in de <b>toiletten</b>, op <b>R11C1</b>. Streep rij 11 door."},{"place":["J","V"],"cand":{"D":[[6,8]],"E":[[1,5],[1,8]],"B":[[10,5],[10,6],[10,7],[10,8],[10,12]]},"text":"E kan in de restauratiewagen in rij 1 of 3 zitten; rij 3 is van G, dus <b>E is in rij 1</b>. Dan kan J alleen op <b>R4C9</b> zijn, en V ligt op het bed van slaapcoupé B, op <b>R2C4</b>."},{"place":["D","E","A"],"cand":{"B":[[10,7],[10,12]]},"text":"D in rij 6: R6C3 ligt in kolom 3 (G), dus D zit op <b>R6C8</b>. Kolom 8 is nu bezet: E is op <b>R1C5</b>, en A, naast een plant in de wachtkamer, kan alleen op <b>R9C6</b> staan."},{"place":["B","K"],"text":"B in rij 10: alleen R10C7 en R10C12 zijn vrij. Eén kolom ten westen van hem was een <b>vrouw</b> – bij R10C12 is dat kolom 11, waar H (een man) staat, dus dat valt af. B is op <b>R10C7</b> in de stationshal (in kolom 6 staat inderdaad een vrouw, A). Ten slotte kan alleen K in kolom 12 zijn: K is op <b>R12C12</b>, in het café."},{"final":true,"text":"Iedereen staat op zijn plek. Victor was alleen met <b>Greta</b> in slaapcoupé B – <b>Greta is de moordenaar!</b>"}],"solver":{"rules":[{"type":"role_only","areas":["Luggage Car","Ticket Office"],"roles":["staff"]},{"type":"areas_nonempty","areas":["Ticket Office","Waiting Room","Newsstand","Cafe","Restrooms","Entrance Hall"]}],"groups":{"Train":["Sleeper A","Sleeper B","Dining Car","Bar Car","Luggage Car"],"Building":["Ticket Office","Waiting Room","Newsstand","Cafe","Restrooms","Entrance Hall"]},"occupiable":["bed","chair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-14"}}