{"id":81751,"date":"2026-08-06T09:07:23","date_gmt":"2026-08-06T09:07:23","guid":{"rendered":"https:\/\/leapscholar.com\/blog\/?p=81751"},"modified":"2026-08-06T09:07:28","modified_gmt":"2026-08-06T09:07:28","slug":"dmat-mock-test","status":"publish","type":"post","link":"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/","title":{"rendered":"dMAT Mock Test: Free Timed Practice Simulation (2026)"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\">6<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span>\n<div class=\"quick-read-box\">\n\n  <div class=\"qr-header\">\n    <span style=\"font-size:18px;\">\u26a1<\/span>\n    <h3 class=\"qr-title\">Quick Read<\/h3>\n  <\/div>\n\n  <ul>\n    <li>Free timed simulation of the real dMAT: 80 original questions across all four sections, with instant section scores and full solutions<\/li>\n\n    <li>Matches official timing exactly: three 25-minute Core Module sections, a break checkpoint, then a 90-minute General Academic Module (45 in Express mode)<\/li>\n\n    <li>No calculator, notes, or rough paper; same aids-none rule as the real exam, enforced by the player<\/li>\n\n    <li>Before you start: block 3 hours, sit in one continuous run, phone on silent; the conditions are part of the test, not optional<\/li>\n\n    <li>Press start below, then review by section split, error type, and time used, not just your raw score<\/li>\n  <\/ul>\n\n<\/div>\n\n\n\n<style>\n.dmt-jump{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(50.6deg,#3C3ACC 14.27%,#4A47FF 85.65%);color:#ffffff!important;font-weight:600;font-size:15px;line-height:1.3;padding:14px 24px;border-radius:12px;text-decoration:none!important;text-align:center}\n@media(max-width:640px){.dmt-jump{display:flex;width:100%}}\n<\/style>\n<p style=\"margin:16px 0 4px\">\n  <a class=\"dmt-jump\" href=\"#dmat-mock-player\">Start the Timed Mock&nbsp;Test&nbsp;&#8595;<\/a>\n<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_68_1 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Content<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #192a3d;color:#192a3d\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #192a3d;color:#192a3d\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#What_This_Free_dMAT_Mock_Test_Covers\" title=\"What This Free dMAT Mock Test Covers\">What This Free dMAT Mock Test Covers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#How_to_Take_This_dMAT_Mock_Test_Like_the_Real_Exam\" title=\"How to Take This dMAT Mock Test Like the Real Exam\">How to Take This dMAT Mock Test Like the Real Exam<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#Take_the_dMAT_Mock_Test_Online\" title=\"Take the dMAT Mock Test Online\">Take the dMAT Mock Test Online<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#How_to_Review_Your_dMAT_Mock_Test_Score\" title=\"How to Review Your dMAT Mock Test Score\">How to Review Your dMAT Mock Test Score<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#dMAT_Mock_Test_Strategy_for_Each_Section\" title=\"dMAT Mock Test Strategy for Each Section\">dMAT Mock Test Strategy for Each Section<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#dMAT_Mock_Test_Plan_Before_26_September_2026\" title=\"dMAT Mock Test Plan Before 26 September 2026\">dMAT Mock Test Plan Before 26 September 2026<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/leapscholar.com\/blog\/dmat-mock-test\/#Frequently_Asked_Questions_About_the_dMAT_Mock_Test\" title=\"Frequently Asked Questions About the dMAT Mock Test\">Frequently Asked Questions About the dMAT Mock Test<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_This_Free_dMAT_Mock_Test_Covers\"><\/span><strong>What This Free dMAT Mock Test Covers<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>There are no dMAT past papers and no official full-length mock, so a format-accurate simulation is the closest you can get to test day before test day. This dMAT mock test rebuilds the structure of the real digital exam: three timed Core Module sections, a break checkpoint, and the General Academic Module, with 80 original questions whose answers have all been independently verified.&nbsp;<\/p>\n\n\n\n<p><em>Every question follows the official formats described in the <\/em><a href=\"https:\/\/leapscholar.com\/blog\/dmat-exam-pattern\/\"><em>full dMAT exam pattern<\/em><\/a><em>, and the whole run works on your phone with no signup.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-palette-color-5-background-color has-background\"><thead><tr><th><strong>Feature<\/strong><\/th><th><strong>This mock test<\/strong><\/th><th><strong>Real dMAT<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Figure Sequences<\/td><td>20 questions, 25 minutes<\/td><td>20 questions, 25 minutes<\/td><\/tr><tr><td>Mathematical Equations<\/td><td>20 questions, 25 minutes<\/td><td>20 questions, 25 minutes<\/td><\/tr><tr><td>Latin Squares<\/td><td>20 tasks, 25 minutes<\/td><td>20 tasks, 25 minutes<\/td><\/tr><tr><td>Second part<\/td><td>General Academic Module, 20 questions, 90 minutes (45 in Express mode)<\/td><td>Subject module or General Academic Module, 90 minutes<\/td><\/tr><tr><td>Break<\/td><td>Checkpoint between the two parts<\/td><td>30-minute break between the two parts<\/td><\/tr><tr><td>Aids<\/td><td>None. No calculator, no notes<\/td><td>None. No calculator, no notes<\/td><\/tr><tr><td>Result<\/td><td>Raw score per section, instant solutions<\/td><td>Standardised score and percentile<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><em>One honest difference: the real exam reports a standardized score and percentile, while a dMAT mock test can only give you a raw mark. That is fine, because the mock&#8217;s job is diagnosis, not prediction. If you want the questions section by section first, start at the <\/em><a href=\"https:\/\/leapscholar.com\/blog\/dmat-sample-questions\/\"><em>dMAT practice test hub<\/em><\/a><em> and come back here for the full rehearsal.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Take_This_dMAT_Mock_Test_Like_the_Real_Exam\"><\/span><strong>How to Take This dMAT Mock Test Like the Real Exam<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A dMAT mock test only transfers to test day if the conditions match. Run through this checklist before you press start:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-palette-color-5-background-color has-background\"><thead><tr><th><strong>Condition<\/strong><\/th><th><strong>Set it up like this<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Aids<\/td><td>No calculator, no rough paper, no second tab. Mental arithmetic only<\/td><\/tr><tr><td>Sitting<\/td><td>One continuous run. Sections cannot be paused<\/td><\/tr><tr><td>Break<\/td><td>Stand up at the break checkpoint, five minutes minimum<\/td><\/tr><tr><td>Time of day<\/td><td>At least one mock in the afternoon, when the real second half lands<\/td><\/tr><tr><td>Device<\/td><td>Once on your phone is fine; your final mock should be on a laptop<\/td><\/tr><tr><td>Environment<\/td><td>Phone on silent, door closed, 3 hours blocked in your calendar<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><em>The no-aids rule deserves emphasis because it is the single most significant difference between casual practice and the real dMAT. If you have been scribbling working notes during <\/em><a href=\"https:\/\/leapscholar.com\/blog\/dmat-mathematical-equations\/\"><em>dMAT Mathematical Equations<\/em><\/a><em> practice, the mock is where that habit gets corrected.<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Take_the_dMAT_Mock_Test_Online\"><\/span><strong>Take the dMAT Mock Test Online<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Press start, pick Full or Express mode, and the first 25-minute section of the dMAT mock test begins. Each section is timed separately and submits itself when time runs out, exactly like the real thing.<\/p>\n\n\n<div data-block=\"hook:81748\" class=\"alignfull\"><article id=\"post-81748\" class=\"post-81748\"><div class=\"entry-content\">\n<div class=\"dmt-wrap\" id=\"dmat-mock-player\">\n<style>\n.dmt-wrap{--ink:#1C2233;--mut:#656E7F;--brd:#E2E6EA;--brd2:#C6CBD2;--lav:#F4F3FF;--lav2:#F1F0FC;--lavb:#D8D6F2;--pri:#443EFF;--grad:linear-gradient(50.6deg,#3C3ACC 14.27%,#4A47FF 85.65%);color:var(--ink);line-height:1.5;scroll-margin-top:100px}\n.dmt-wrap *{box-sizing:border-box}\n.dmt-card{background:#ffffff;border:1px solid var(--brd);border-radius:16px;padding:22px}\n.dmt-t{font-weight:700;font-size:20px;margin:0 0 6px!important;padding:0!important}\n.dmt-s{font-size:14px;color:var(--mut);margin:0 0 16px!important;padding:0!important}\n.dmt-wrap .dmt-card table.dmt-spec{width:100%!important;table-layout:auto!important;border-collapse:collapse!important;margin:0 0 16px!important;font-size:14px}\n.dmt-wrap .dmt-card table.dmt-spec td,.dmt-wrap .dmt-card table.dmt-spec th{border:1px solid var(--brd)!important;padding:8px 12px!important;text-align:left!important;background:#ffffff!important;color:var(--ink)!important;font-size:14px!important;line-height:1.45!important}\n.dmt-wrap .dmt-card table.dmt-spec th{background:var(--lav)!important;font-weight:600!important}\n.dmt-abbr{display:none}\n.dmt-modes{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 8px}\n.dmt-mode{flex:1 1 220px;border:2px solid var(--brd);border-radius:12px;padding:14px;cursor:pointer;background:#ffffff}\n.dmt-mode.dmt-on{border-color:var(--pri);background:var(--lav)}\n.dmt-mode p{margin:0!important;padding:0!important}\n.dmt-mn{font-weight:700;font-size:15px}\n.dmt-md{font-size:12.5px;color:var(--mut)}\n.dmt-note{font-size:12.5px;color:var(--mut);margin:10px 0 0!important}\n.dmt-wrap details.dmt-rules{margin:12px 0 0;border:1px solid var(--brd);border-radius:12px;padding:0;background:#ffffff}\n.dmt-wrap details.dmt-rules summary{list-style:none;cursor:pointer;font-weight:600;font-size:13px;color:var(--ink);padding:11px 14px;display:flex;justify-content:space-between;align-items:center}\n.dmt-wrap details.dmt-rules summary::-webkit-details-marker{display:none}\n.dmt-wrap details.dmt-rules summary:after{content:\"\\25BC\";font-size:10px;color:var(--mut)}\n.dmt-wrap details.dmt-rules[open] summary:after{content:\"\\25B2\"}\n.dmt-wrap details.dmt-rules .dmt-note{padding:0 14px 12px;margin:0!important}\n.dmt-mb{display:inline-flex;align-items:center;background:var(--lav2);border:1px solid var(--lavb);color:var(--mut);border-radius:999px;padding:6px 12px;font-weight:600;font-size:12px;margin-right:6px}\n@media(max-width:640px){\n.dmt-full{display:none}.dmt-abbr{display:inline}\n.dmt-wrap .dmt-card table.dmt-spec td,.dmt-wrap .dmt-card table.dmt-spec th{padding:6px 8px!important;font-size:12.5px!important}\n.dmt-s{font-size:13px;margin-bottom:12px!important}\n.dmt-modes{gap:8px;flex-wrap:nowrap}\n.dmt-mode{flex:1 1 0;padding:10px}\n.dmt-mn{font-size:13.5px}\n.dmt-md{display:none}\n.dmt-ms{display:block!important;font-size:11.5px;color:var(--mut)}\n}\n.dmt-ms{display:none}\na.dmt-start,button.dmt-start{display:inline-flex;align-items:center;justify-content:center;background:var(--grad);color:#ffffff!important;border:0;border-radius:12px;padding:14px 26px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none!important}\nbutton.dmt-ghost{display:inline-flex;align-items:center;justify-content:center;background:var(--lav2);border:1px solid var(--lavb);color:var(--ink);border-radius:12px;padding:12px 20px;font-weight:600;font-size:14px;cursor:pointer}\n@media(max-width:640px){a.dmt-start,button.dmt-start,button.dmt-ghost{width:100%}}\n.dmt-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}\n.dmt-hn{font-weight:700;font-size:15px;margin:0!important}\n.dmt-hq{font-size:12.5px;color:var(--mut);margin:0!important}\n.dmt-tm{font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;background:var(--lav2);border:1px solid var(--lavb);border-radius:999px;padding:6px 14px}\n.dmt-tm.dmt-low{background:#FEF3F2;border-color:#FECDCA;color:#D92D20}\n.dmt-pal{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 0}\n.dmt-pc{width:34px;height:34px;border-radius:8px;border:1px solid var(--brd2);background:#ffffff;font-size:12.5px;font-weight:600;color:var(--mut);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}\n.dmt-pc.dmt-ans{background:var(--lav);border-color:var(--pri);color:var(--pri)}\n.dmt-pc.dmt-cur{outline:2px solid var(--pri);outline-offset:1px}\n.dmt-qtext{font-size:15px;margin:0 0 12px!important}\n.dmt-ilabel{font-weight:700;font-size:13px;color:var(--pri);margin:0 0 6px!important}\n.dmt-input{background:var(--lav);border-left:4px solid var(--pri);border-radius:0 12px 12px 0;padding:12px 14px;margin:0 0 14px}\n.dmt-ip{font-size:14px;margin:0 0 6px!important}\n.dmt-input .dmt-ip:last-child{margin-bottom:0!important}\n.dmt-wrap .dmt-app table.dmt-tt,.dmt-wrap .dmt-app table.dmt-t{width:auto!important;max-width:100%;table-layout:auto!important;border-collapse:collapse!important;margin:8px 0 2px!important;align-self:flex-start!important;background:#ffffff!important}\n.dmt-wrap .dmt-app table.dmt-t td,.dmt-wrap .dmt-app table.dmt-t th{border:1px solid var(--brd2)!important;padding:6px 12px!important;font-size:13.5px!important;text-align:left!important;background:#ffffff!important;color:var(--ink)!important;line-height:1.4!important;width:auto!important}\n.dmt-wrap .dmt-app table.dmt-t th{background:var(--lav2)!important;font-weight:600!important}\n.dmt-eq{background:var(--lav);border-radius:12px;padding:14px 18px;font-size:17px;font-weight:600;letter-spacing:.3px;margin:0 0 14px;display:inline-block}\n.dmt-seq{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px}\n.dmt-wrap .dmt-app table.dmt-m{width:auto!important;table-layout:fixed!important;border-collapse:collapse!important;margin:0!important;align-self:flex-start!important;flex:0 0 auto}\n.dmt-wrap .dmt-app table.dmt-m td{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;padding:0!important;border:1px solid var(--brd2)!important;text-align:center!important;vertical-align:middle!important;font-size:14px!important;line-height:1!important;background:#ffffff!important}\n.dmt-wrap .dmt-app table.dmt-m.dmt-mq td{background:var(--lav)!important}\n.dmt-wrap .dmt-app table.dmt-g{width:auto!important;table-layout:fixed!important;border-collapse:collapse!important;margin:0 0 14px!important;align-self:flex-start!important}\n.dmt-wrap .dmt-app table.dmt-g td{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;padding:0!important;border:1.5px solid var(--brd2)!important;text-align:center!important;vertical-align:middle!important;font-size:16px!important;font-weight:600!important;line-height:1!important;background:#ffffff!important;color:var(--ink)!important}\n.dmt-wrap .dmt-app table.dmt-g td.dmt-qm{background:var(--lav)!important;color:var(--pri)!important;font-weight:700!important}\n.dmt-c-blue{color:#2456D6!important}.dmt-c-grn{color:#079455!important}.dmt-c-red{color:#D92D20!important}.dmt-c-yel{color:#DC6803!important}.dmt-c-blk{color:#1C2233!important}.dmt-c-pnk{color:#C11574!important}\n.dmt-wrap ul.dmt-opts{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:8px}\n.dmt-wrap ul.dmt-opts li{list-style:none!important;margin:0!important;border:1.5px solid var(--brd);border-radius:12px;padding:11px 14px;font-size:14.5px;cursor:pointer;background:#ffffff}\n.dmt-wrap ul.dmt-opts li.dmt-sel{border-color:var(--pri);background:var(--lav)}\n.dmt-fopts{display:flex;gap:12px;flex-wrap:wrap}\n.dmt-fopt{border:1.5px solid var(--brd);border-radius:12px;padding:10px;cursor:pointer;background:#ffffff;text-align:center}\n.dmt-fopt.dmt-sel{border-color:var(--pri);background:var(--lav)}\n.dmt-ol{font-weight:700;font-size:12.5px;color:var(--mut);margin-top:6px}\n.dmt-fopt.dmt-sel .dmt-ol{color:var(--pri)}\n.dmt-nav2{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:14.5px}\n.dmt-hint{font-size:12.5px;color:var(--mut);margin:16px 0 0!important;padding-top:14px;border-top:1px solid var(--brd)}\n.dmt-wrap a.dmt-lnk{color:var(--pri)!important;font-weight:600;text-decoration:none!important;cursor:pointer;padding:6px 2px;display:inline-flex;align-items:center;gap:4px}\n.dmt-wrap a.dmt-lnk.dmt-dis{color:var(--brd2)!important;pointer-events:none}\n.dmt-wrap a.dmt-back{color:var(--mut)!important;font-weight:600;font-size:13px;text-decoration:none!important;cursor:pointer}\n.dmt-fbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}\n.dmt-fl{font-size:13px;color:var(--mut);font-weight:600;margin-right:2px}\nbutton.dmt-fpill{border:1.5px solid var(--brd);background:#ffffff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--mut);cursor:pointer}\nbutton.dmt-fpill.dmt-fon{border-color:var(--pri);background:var(--lav);color:var(--pri)}\n.dmt-wrap details.dmt-racc{border:1px solid var(--brd);border-radius:12px;margin:0 0 10px;background:#ffffff}\n.dmt-wrap details.dmt-racc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;font-weight:700;font-size:15px}\n.dmt-wrap details.dmt-racc summary::-webkit-details-marker{display:none}\n.dmt-wrap details.dmt-racc summary:after{content:\"\\25BC\";font-size:10px;color:var(--mut)}\n.dmt-wrap details.dmt-racc[open] summary:after{content:\"\\25B2\"}\n.dmt-rs{font-size:12.5px;color:var(--mut);font-weight:600;white-space:nowrap;margin-left:auto}\n.dmt-raccb{padding:0 14px 14px}\n.dmt-rev-none{font-size:13.5px;color:var(--mut);margin:0!important}\n.dmt-res-g{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}\n.dmt-res-c{flex:1 1 150px;background:var(--lav);border-radius:12px;padding:14px}\n.dmt-res-c p{margin:0!important;padding:0!important}\n.dmt-rn{font-size:12.5px;color:var(--mut)}\n.dmt-rv{font-size:20px;font-weight:700}\n.dmt-rev-q{border:1px solid var(--brd);border-radius:12px;padding:14px;margin:0 0 10px}\n.dmt-rev-q.dmt-ok{border-left:4px solid #079455}\n.dmt-rev-q.dmt-no{border-left:4px solid #D92D20}\n.dmt-rev-h{font-weight:600;font-size:13.5px;margin:0 0 8px!important}\n.dmt-rev-a{font-size:13.5px;margin:8px 0 0!important}\n.dmt-rev-s{font-size:13.5px;color:var(--mut);margin:8px 0 0!important}\n.dmt-badge{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 10px;margin-left:6px;vertical-align:1px}\n.dmt-b-ok{background:#ECFDF3;color:#079455}.dmt-b-no{background:#FEF3F2;color:#D92D20}.dmt-b-sk{background:var(--lav2);color:var(--mut)}\n.dmt-brk{text-align:center;padding:10px 0}\n.dmt-center{text-align:center}\n.dmt-hide{display:none!important}\n@media(max-width:640px){.dmt-card{padding:16px}.dmt-wrap .dmt-app table.dmt-m td{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;font-size:12px!important}}\n<\/style>\n\n<!-- static, crawler-visible intro -->\n<div class=\"dmt-card\" id=\"dmt-intro\">\n<p class=\"dmt-t\">Free dMAT Mock Test: Timed Full Simulation<\/p>\n<p class=\"dmt-s\">The real exam structure: three timed Core Module sections, then the General Academic Module. 80 original questions with verified solutions. No signup, works on your phone.<\/p>\n<table class=\"dmt-spec\">\n<tr><th>Section<\/th><th><span class=\"dmt-full\">Questions<\/span><span class=\"dmt-abbr\">Qs<\/span><\/th><th>Time<\/th><\/tr>\n<tr><td>1. Figure Sequences<\/td><td>20<\/td><td><span class=\"dmt-full\">25 minutes<\/span><span class=\"dmt-abbr\">25 min<\/span><\/td><\/tr>\n<tr><td>2. Mathematical Equations<\/td><td>20<\/td><td><span class=\"dmt-full\">25 minutes<\/span><span class=\"dmt-abbr\">25 min<\/span><\/td><\/tr>\n<tr><td>3. Latin Squares<\/td><td>20<\/td><td><span class=\"dmt-full\">25 minutes<\/span><span class=\"dmt-abbr\">25 min<\/span><\/td><\/tr>\n<tr><td>4. General Academic Module<\/td><td>20<\/td><td><span class=\"dmt-full\">90 minutes (45 in Express mode)<\/span><span class=\"dmt-abbr\">90 min (45 Express)<\/span><\/td><\/tr>\n<\/table>\n<div class=\"dmt-modes\" id=\"dmt-modes\">\n  <div class=\"dmt-mode dmt-on\" data-mode=\"full\" role=\"button\" tabindex=\"0\"><p class=\"dmt-mn\">Full mock<\/p><p class=\"dmt-md\">Real exam timing, about 2 hours 45 minutes of test time. Best in your final two weeks.<\/p><p class=\"dmt-ms\">Real timing, ~2 h 45 m<\/p><\/div>\n  <div class=\"dmt-mode\" data-mode=\"express\" role=\"button\" tabindex=\"0\"><p class=\"dmt-mn\">Express<\/p><p class=\"dmt-md\">Same questions, General Academic Module shortened to 45 minutes. About 2 hours.<\/p><p class=\"dmt-ms\">Shorter GAM, ~2 h<\/p><\/div>\n<\/div>\n<p style=\"margin:14px 0 0\"><button class=\"dmt-start\" id=\"dmt-go\" type=\"button\">Start the Mock Test<\/button><\/p>\n<details class=\"dmt-rules\">\n<summary>Exam rules and how the timer works<\/summary>\n<p class=\"dmt-note\">Rules, exactly like the real dMAT: no calculator, no notes, answer on screen only. Each section is timed separately and submits itself when time runs out. Keep this tab open; refreshing the page restarts the mock. In the real exam a 30-minute break follows the Core Module, and this simulation pauses there too. The only difference between the two modes is section 4: the General Academic Module runs 90 minutes in the Full mock and 45 minutes in Express.<\/p>\n<\/details>\n<\/div>\n\n<div class=\"dmt-app dmt-hide\" id=\"dmt-app\"><\/div>\n\n<script>\n(function(){\nvar D = {\"fs\":{\"name\":\"Figure Sequences\",\"minutes\":25,\"qs\":[{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[1,2,\"&#9632;\",\"red\"]],[[1,3,\"&#9632;\",\"red\"]],[[1,4,\"&#9632;\",\"red\"]],[[1,3,\"&#9632;\",\"red\"]]],\"options\":[[[1,4,\"&#9632;\",\"red\"]],[[1,2,\"&#9632;\",\"red\"]],[[1,1,\"&#9632;\",\"red\"]]],\"answer\":1,\"sol\":\"The red square moves one field to the right in row 1 each time. It bounces off the right boundary and comes back: in the fourth matrix it is already moving left, so the next position is one further field to the left, row 1, column 2.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[1,4,\"&#9679;\",\"pnk\"]],[[2,4,\"&#9679;\",\"pnk\"]],[[3,4,\"&#9679;\",\"pnk\"]],[[4,4,\"&#9679;\",\"pnk\"]]],\"options\":[[[2,4,\"&#9679;\",\"pnk\"]],[[1,4,\"&#9679;\",\"pnk\"]],[[3,4,\"&#9679;\",\"pnk\"]]],\"answer\":2,\"sol\":\"The pink circle moves one field down in column 4 each time. At the bottom boundary it bounces off and moves one field back up, to row 3, column 4.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[1,4,\"&#9650;\",\"blue\"]],[[2,3,\"&#9650;\",\"blue\"]],[[3,2,\"&#9650;\",\"blue\"]],[[4,1,\"&#9650;\",\"blue\"]]],\"options\":[[[3,2,\"&#9650;\",\"blue\"]],[[2,3,\"&#9650;\",\"blue\"]],[[1,4,\"&#9650;\",\"blue\"]]],\"answer\":0,\"sol\":\"The blue triangle moves diagonally down and to the left. At the corner it bounces and returns along the same diagonal, so the next position is row 3, column 2.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[4,3,\"&#9670;\",\"grn\"]],[[4,2,\"&#9670;\",\"grn\"]],[[4,1,\"&#9670;\",\"grn\"]],[[4,2,\"&#9670;\",\"grn\"]]],\"options\":[[[4,1,\"&#9670;\",\"grn\"]],[[4,4,\"&#9670;\",\"grn\"]],[[4,3,\"&#9670;\",\"grn\"]]],\"answer\":2,\"sol\":\"The green diamond moves one field to the left in row 4 each time. It bounces off the left boundary and comes back: in the fourth matrix it is already moving right, so the next position is one further field to the right, row 4, column 3.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[4,1,\"&#9733;\",\"yel\"]],[[3,1,\"&#9733;\",\"yel\"]],[[2,1,\"&#9733;\",\"yel\"]],[[1,1,\"&#9733;\",\"yel\"]]],\"options\":[[[3,1,\"&#9733;\",\"yel\"]],[[2,1,\"&#9733;\",\"yel\"]],[[4,1,\"&#9733;\",\"yel\"]]],\"answer\":1,\"sol\":\"The yellow star moves one field up in column 1 each time. At the top boundary it bounces off and moves one field back down, to row 2, column 1.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[2,4,\"&#9679;\",\"blk\"]],[[2,3,\"&#9679;\",\"blk\"]],[[2,2,\"&#9679;\",\"blk\"]],[[2,1,\"&#9679;\",\"blk\"]]],\"options\":[[[2,4,\"&#9679;\",\"blk\"]],[[2,2,\"&#9679;\",\"blk\"]],[[2,3,\"&#9679;\",\"blk\"]]],\"answer\":1,\"sol\":\"The black circle moves one field to the left in row 2 each time. From column 4 it reaches column 1 after three moves, and on the next move it bounces off the left boundary back to row 2, column 2.\"},{\"diff\":\"low\",\"instr\":\"Look at the series below. The figures change by fixed rules from one matrix to the next. Choose the matrix that comes next.\",\"frames\":[[[4,4,\"&#9632;\",\"blue\"]],[[3,3,\"&#9632;\",\"blue\"]],[[2,2,\"&#9632;\",\"blue\"]],[[1,1,\"&#9632;\",\"blue\"]]],\"options\":[[[3,3,\"&#9632;\",\"blue\"]],[[4,4,\"&#9632;\",\"blue\"]],[[2,2,\"&#9632;\",\"blue\"]]],\"answer\":2,\"sol\":\"The blue square moves diagonally up and to the left. At the corner it bounces and returns along the same diagonal, so the next position is row 2, column 2.\"},{\"diff\":\"medium\",\"instr\":\"Two figures, two rules. Choose the matrix that comes next.\",\"frames\":[[[1,2,\"&#9679;\",\"red\"],[2,4,\"&#9650;\",\"grn\"]],[[2,2,\"&#9679;\",\"red\"],[2,4,\"&#9650;\",\"yel\"]],[[2,4,\"&#9650;\",\"grn\"],[3,2,\"&#9679;\",\"red\"]],[[2,4,\"&#9650;\",\"yel\"],[4,2,\"&#9679;\",\"red\"]]],\"options\":[[[2,4,\"&#9650;\",\"grn\"],[3,2,\"&#9679;\",\"red\"]],[[1,2,\"&#9679;\",\"red\"],[2,4,\"&#9650;\",\"grn\"]],[[2,4,\"&#9650;\",\"yel\"],[3,2,\"&#9679;\",\"red\"]]],\"answer\":0,\"sol\":\"The red circle moves down column 2 and bounces off the bottom boundary, back up to row 3, column 2. The triangle stays in place and alternates green and yellow, so next it is green again. One distractor shows the right positions but the wrong triangle colour.\"},{\"diff\":\"medium\",\"instr\":\"Watch the orientation of the arrow. Choose the matrix that comes next.\",\"frames\":[[[3,2,\"&#9650;\",\"blk\"]],[[3,2,\"&#9654;\",\"blk\"]],[[3,2,\"&#9660;\",\"blk\"]],[[3,2,\"&#9664;\",\"blk\"]]],\"options\":[[[3,2,\"&#9664;\",\"blk\"]],[[3,2,\"&#9660;\",\"blk\"]],[[3,2,\"&#9650;\",\"blk\"]]],\"answer\":2,\"sol\":\"The arrow does not move. It rotates 90 degrees clockwise from matrix to matrix: up, right, down, left. After left, the rotation continues back to up.\"},{\"diff\":\"medium\",\"instr\":\"The figure moves along the outer border. Choose the matrix that comes next.\",\"frames\":[[[4,3,\"&#9632;\",\"yel\"]],[[4,2,\"&#9632;\",\"yel\"]],[[4,1,\"&#9632;\",\"yel\"]],[[3,1,\"&#9632;\",\"yel\"]]],\"options\":[[[4,1,\"&#9632;\",\"yel\"]],[[2,1,\"&#9632;\",\"yel\"]],[[1,1,\"&#9632;\",\"yel\"]]],\"answer\":1,\"sol\":\"The yellow square slides along the outer border clockwise by one field at a time: along the bottom row, then up the left edge. The next field is row 2, column 1.\"},{\"diff\":\"medium\",\"instr\":\"Two figures, two rules. Choose the matrix that comes next.\",\"frames\":[[[1,1,\"&#9679;\",\"blue\"],[4,4,\"&#9670;\",\"pnk\"]],[[1,2,\"&#9679;\",\"blue\"],[4,3,\"&#9670;\",\"pnk\"]],[[1,3,\"&#9679;\",\"blue\"],[4,2,\"&#9670;\",\"pnk\"]],[[1,4,\"&#9679;\",\"blue\"],[4,1,\"&#9670;\",\"pnk\"]]],\"options\":[[[1,1,\"&#9679;\",\"blue\"],[4,2,\"&#9670;\",\"pnk\"]],[[1,3,\"&#9679;\",\"blue\"],[4,2,\"&#9670;\",\"pnk\"]],[[1,2,\"&#9679;\",\"blue\"],[4,2,\"&#9670;\",\"pnk\"]]],\"answer\":1,\"sol\":\"The blue circle moves right along row 1 and bounces off the right boundary, back to row 1, column 3. The pink diamond moves left along row 4 and bounces off the left boundary, back to row 4, column 2. Each distractor gets exactly one of the two bounces wrong.\"},{\"diff\":\"medium\",\"instr\":\"Watch the position and the colour. Choose the matrix that comes next.\",\"frames\":[[[1,3,\"&#9670;\",\"red\"]],[[2,3,\"&#9670;\",\"yel\"]],[[3,3,\"&#9670;\",\"blue\"]],[[4,3,\"&#9670;\",\"red\"]]],\"options\":[[[1,3,\"&#9670;\",\"yel\"]],[[3,3,\"&#9670;\",\"red\"]],[[3,3,\"&#9670;\",\"yel\"]]],\"answer\":2,\"sol\":\"The diamond moves one field down column 3 and bounces off the bottom boundary, back to row 3, column 3. Its colour cycles red, yellow, blue, red, so the next colour is yellow. One distractor has the right position but repeats the previous colour.\"},{\"diff\":\"medium\",\"instr\":\"The figure moves along the outer border. Choose the matrix that comes next.\",\"frames\":[[[2,4,\"&#9650;\",\"grn\"]],[[1,4,\"&#9650;\",\"grn\"]],[[1,3,\"&#9650;\",\"grn\"]],[[1,2,\"&#9650;\",\"grn\"]]],\"options\":[[[1,1,\"&#9650;\",\"grn\"]],[[1,3,\"&#9650;\",\"grn\"]],[[2,1,\"&#9650;\",\"grn\"]]],\"answer\":0,\"sol\":\"The green triangle slides along the outer border counter-clockwise by one field at a time: up the right edge, then left along the top row. The next field is row 1, column 1.\"},{\"diff\":\"medium\",\"instr\":\"Two figures, two rules. Choose the matrix that comes next.\",\"frames\":[[[2,2,\"&#9632;\",\"blk\"],[4,1,\"&#9679;\",\"grn\"]],[[2,2,\"&#9632;\",\"red\"],[3,2,\"&#9679;\",\"grn\"]],[[2,2,\"&#9632;\",\"blk\"],[2,3,\"&#9679;\",\"grn\"]],[[1,4,\"&#9679;\",\"grn\"],[2,2,\"&#9632;\",\"red\"]]],\"options\":[[[2,2,\"&#9632;\",\"red\"],[2,3,\"&#9679;\",\"grn\"]],[[2,2,\"&#9632;\",\"blk\"],[4,1,\"&#9679;\",\"grn\"]],[[2,2,\"&#9632;\",\"blk\"],[2,3,\"&#9679;\",\"grn\"]]],\"answer\":2,\"sol\":\"The square stays in place and alternates black and red, so next it is black again. The green circle moves up the anti-diagonal from the bottom-left toward the top-right and bounces at the corner, returning to row 2, column 3.\"},{\"diff\":\"high\",\"instr\":\"The step size changes. Choose the matrix that comes next.\",\"frames\":[[[1,2,\"&#9679;\",\"red\"]],[[2,2,\"&#9679;\",\"red\"]],[[4,2,\"&#9679;\",\"red\"]],[[1,2,\"&#9679;\",\"red\"]]],\"options\":[[[2,2,\"&#9679;\",\"red\"]],[[3,2,\"&#9679;\",\"red\"]],[[4,2,\"&#9679;\",\"red\"]]],\"answer\":1,\"sol\":\"This is the x + 1 rule: the circle moves down column 2 by 1 step, then 2 steps, then 3, bouncing off the boundaries. The fourth move is 4 steps with a bounce, which lands the circle on row 3, column 2.\"},{\"diff\":\"high\",\"instr\":\"The diamond moves along the outer border. The step size changes. Choose the matrix that comes next.\",\"frames\":[[[1,1,\"&#9670;\",\"blue\"]],[[1,2,\"&#9670;\",\"blue\"]],[[1,4,\"&#9670;\",\"blue\"]],[[4,4,\"&#9670;\",\"blue\"]]],\"options\":[[[4,1,\"&#9670;\",\"blue\"]],[[3,1,\"&#9670;\",\"blue\"]],[[2,1,\"&#9670;\",\"blue\"]]],\"answer\":1,\"sol\":\"The x + 1 rule combined with border movement. The diamond travels clockwise 1 step, then 2, then 3. The next move is 4 steps along the border, landing on row 3, column 1.\"},{\"diff\":\"high\",\"instr\":\"The arrow moves and rotates. Choose the matrix that comes next.\",\"frames\":[[[3,1,\"&#9654;\",\"blk\"]],[[3,2,\"&#9660;\",\"blk\"]],[[3,3,\"&#9664;\",\"blk\"]],[[3,4,\"&#9650;\",\"blk\"]]],\"options\":[[[3,1,\"&#9654;\",\"blk\"]],[[3,3,\"&#9650;\",\"blk\"]],[[3,3,\"&#9654;\",\"blk\"]]],\"answer\":2,\"sol\":\"Two rules at once. Position: the arrow moves one field right along row 3 and bounces off the right boundary, back to row 3, column 3. Orientation: it rotates 90 degrees clockwise each time, and after up comes right. So the next matrix shows a right-pointing arrow at row 3, column 3.\"},{\"diff\":\"high\",\"instr\":\"Three figures, three rules. Choose the matrix that comes next.\",\"frames\":[[[1,4,\"&#9679;\",\"yel\"],[3,1,\"&#9632;\",\"blue\"],[4,4,\"&#9650;\",\"red\"]],[[1,3,\"&#9679;\",\"yel\"],[3,1,\"&#9632;\",\"pnk\"],[3,4,\"&#9650;\",\"red\"]],[[1,2,\"&#9679;\",\"yel\"],[2,4,\"&#9650;\",\"red\"],[3,1,\"&#9632;\",\"blue\"]],[[1,1,\"&#9679;\",\"yel\"],[1,4,\"&#9650;\",\"red\"],[3,1,\"&#9632;\",\"pnk\"]]],\"options\":[[[1,2,\"&#9679;\",\"yel\"],[2,4,\"&#9650;\",\"red\"],[3,1,\"&#9632;\",\"blue\"]],[[1,2,\"&#9679;\",\"yel\"],[2,4,\"&#9650;\",\"red\"],[3,1,\"&#9632;\",\"pnk\"]],[[1,4,\"&#9679;\",\"yel\"],[2,4,\"&#9650;\",\"red\"],[3,1,\"&#9632;\",\"blue\"]]],\"answer\":0,\"sol\":\"The yellow circle moves left along row 1 and bounces off the left boundary, back to row 1, column 2. The square stays in place and alternates blue and pink, so next it is blue. The red triangle moves up column 4 and bounces off the top boundary, back down to row 2, column 4.\"},{\"diff\":\"high\",\"instr\":\"Watch the position and the colour. Choose the matrix that comes next.\",\"frames\":[[[4,1,\"&#9733;\",\"red\"]],[[4,2,\"&#9733;\",\"red\"]],[[4,3,\"&#9733;\",\"red\"]],[[4,4,\"&#9733;\",\"yel\"]]],\"options\":[[[4,1,\"&#9733;\",\"yel\"]],[[4,2,\"&#9733;\",\"yel\"]],[[4,3,\"&#9733;\",\"yel\"]]],\"answer\":2,\"sol\":\"The star moves one field right along row 4. The second rule: each time the star touches a boundary column, it changes colour. It shows red from column 1 to column 3, then turns yellow when it reaches the boundary at column 4. It has no new boundary contact on the next move, so it bounces back to row 4, column 3 still in yellow. The distractor keeps the old colour.\"},{\"diff\":\"high\",\"instr\":\"The step size changes. Choose the matrix that comes next.\",\"frames\":[[[2,4,\"&#9650;\",\"grn\"]],[[2,3,\"&#9650;\",\"grn\"]],[[2,1,\"&#9650;\",\"grn\"]],[[2,4,\"&#9650;\",\"grn\"]]],\"options\":[[[2,3,\"&#9650;\",\"grn\"]],[[2,2,\"&#9650;\",\"grn\"]],[[2,1,\"&#9650;\",\"grn\"]]],\"answer\":1,\"sol\":\"The x + 1 rule moving left: the triangle moves 1 step, then 2, then 3, bouncing off the row boundaries. The fourth move is 4 steps with a bounce, landing on row 2, column 2.\"}]},\"me\":{\"name\":\"Mathematical Equations\",\"minutes\":25,\"qs\":[{\"diff\":\"low\",\"eqs\":[\"4 + A = 11\",\"B \u2212 A = 5\"],\"options\":[\"A = 7, B = 12\",\"A = 7, B = 2\",\"A = 15, B = 20\",\"A = 4, B = 9\"],\"answer\":0,\"sol\":\"The first equation is the anchor: subtract 4 on both sides, so A = 7. Substitute into the second: B \u2212 7 = 5, so B = 12. The trap option subtracts instead of adding.\"},{\"diff\":\"low\",\"eqs\":[\"B \u00f7 3 = A\",\"B \u2212 A = 8\"],\"options\":[\"A = 12, B = 4\",\"A = 4, B = 12\",\"A = 8, B = 24\",\"A = 3, B = 9\"],\"answer\":1,\"sol\":\"From the first equation B = 3A. Substituting into the second: 3A \u2212 A = 8, so 2A = 8 and A = 4. Then B = 12. The swapped pair is the trap option.\"},{\"diff\":\"low\",\"eqs\":[\"5 \u00d7 A = B\",\"A + B = 18\"],\"options\":[\"A = 5, B = 13\",\"A = 2, B = 16\",\"A = 3, B = 15\",\"A = 4, B = 14\"],\"answer\":2,\"sol\":\"Replace B with 5A in the second equation: A + 5A = 18, so 6A = 18 and A = 3. Then B = 5 \u00d7 3 = 15. The other options fit the sum but not the first equation.\"},{\"diff\":\"low\",\"eqs\":[\"A \u2212 6 = 3\",\"A + B = 20\"],\"options\":[\"A = 3, B = 17\",\"A = 9, B = 29\",\"A = 6, B = 14\",\"A = 9, B = 11\"],\"answer\":3,\"sol\":\"The anchor gives A = 9 directly. Substitute into the second equation: 9 + B = 20, so B = 11. One trap adds 20 instead of completing it.\"},{\"diff\":\"low\",\"eqs\":[\"3 \u00d7 B = A\",\"A \u2212 B = 12\"],\"options\":[\"A = 18, B = 6\",\"A = 12, B = 4\",\"A = 6, B = 18\",\"A = 15, B = 5\"],\"answer\":0,\"sol\":\"Replace A with 3B in the second equation: 3B \u2212 B = 12, so 2B = 12 and B = 6. Then A = 18. The swapped pair is the trap option.\"},{\"diff\":\"low\",\"eqs\":[\"A + B = 16\",\"A \u2212 B = 4\"],\"options\":[\"A = 6, B = 10\",\"A = 10, B = 6\",\"A = 12, B = 4\",\"A = 8, B = 8\"],\"answer\":1,\"sol\":\"Add the two equations: 2A = 20, so A = 10. Then B = 16 \u2212 10 = 6. Adding first removes B in one step, which is faster than substituting.\"},{\"diff\":\"low\",\"eqs\":[\"A \u00f7 4 = B\",\"A \u2212 B = 9\"],\"options\":[\"A = 4, B = 1\",\"A = 16, B = 4\",\"A = 12, B = 3\",\"A = 8, B = 2\"],\"answer\":2,\"sol\":\"From the first equation A = 4B. Substituting into the second: 4B \u2212 B = 9, so 3B = 9 and B = 3. Then A = 12.\"},{\"diff\":\"medium\",\"eqs\":[\"2 \u00d7 B = A\",\"A + B = 18\",\"C = A \u2212 B\"],\"options\":[\"A = 6, B = 12, C = 6\",\"A = 12, B = 6, C = 18\",\"A = 10, B = 8, C = 2\",\"A = 12, B = 6, C = 6\"],\"answer\":3,\"sol\":\"Replace A with 2B in equation 2: 2B + B = 18, so B = 6 and A = 12. Then C = 12 \u2212 6 = 6. One trap computes C as a sum instead of a difference.\"},{\"diff\":\"medium\",\"eqs\":[\"C \u2212 5 = 7\",\"C + A = 20\",\"B = C \u2212 A\"],\"options\":[\"A = 8, B = 4, C = 12\",\"A = 12, B = 8, C = 4\",\"A = 8, B = 20, C = 12\",\"A = 7, B = 5, C = 12\"],\"answer\":0,\"sol\":\"Equation 1 is the anchor: C = 12. Then A = 20 \u2212 12 = 8, and B = 12 \u2212 8 = 4.\"},{\"diff\":\"medium\",\"eqs\":[\"B \u00f7 4 = A\",\"B \u2212 A = 9\",\"C = A + B\"],\"options\":[\"A = 4, B = 16, C = 20\",\"A = 3, B = 12, C = 15\",\"A = 3, B = 12, C = 9\",\"A = 2, B = 8, C = 10\"],\"answer\":1,\"sol\":\"From equation 1, B = 4A. Substituting into equation 2: 4A \u2212 A = 9, so A = 3 and B = 12. Then C = 3 + 12 = 15.\"},{\"diff\":\"medium\",\"eqs\":[\"5 \u00d7 A = B\",\"B \u2212 A = 16\",\"C = B \u00f7 2\"],\"options\":[\"A = 4, B = 20, C = 40\",\"A = 3, B = 15, C = 7\",\"A = 4, B = 20, C = 10\",\"A = 5, B = 25, C = 12\"],\"answer\":2,\"sol\":\"Replace B with 5A in equation 2: 5A \u2212 A = 16, so 4A = 16 and A = 4. Then B = 20 and C = 20 \u00f7 2 = 10. One trap multiplies by 2 instead of dividing.\"},{\"diff\":\"medium\",\"eqs\":[\"3 \u00d7 A = B\",\"4 \u00d7 A = C\",\"B + C = 28\"],\"options\":[\"A = 4, B = 16, C = 12\",\"A = 2, B = 6, C = 8\",\"A = 7, B = 21, C = 28\",\"A = 4, B = 12, C = 16\"],\"answer\":3,\"sol\":\"Express B and C in A, then substitute into equation 3: 3A + 4A = 28, so 7A = 28 and A = 4. Then B = 12 and C = 16. The swapped pair is the trap option.\"},{\"diff\":\"medium\",\"eqs\":[\"A + B = 13\",\"A \u2212 4 = 3\",\"C = 3 \u00d7 B\"],\"options\":[\"A = 7, B = 6, C = 18\",\"A = 6, B = 7, C = 21\",\"A = 7, B = 6, C = 12\",\"A = 9, B = 4, C = 12\"],\"answer\":0,\"sol\":\"Equation 2 is the anchor: A = 7. Then B = 13 \u2212 7 = 6, and C = 3 \u00d7 6 = 18.\"},{\"diff\":\"medium\",\"eqs\":[\"C \u00f7 2 = B\",\"C \u2212 B = 7\",\"A = B + C\"],\"options\":[\"A = 14, B = 7, C = 21\",\"A = 21, B = 7, C = 14\",\"A = 12, B = 4, C = 8\",\"A = 18, B = 6, C = 12\"],\"answer\":1,\"sol\":\"From equation 1, C = 2B. Substituting into equation 2: 2B \u2212 B = 7, so B = 7 and C = 14. Then A = 7 + 14 = 21.\"},{\"diff\":\"high\",\"eqs\":[\"3 \u00d7 B = A\",\"C \u2212 B = 4\",\"A + C \u2212 B = 16\",\"D = A \u00f7 B\"],\"options\":[\"A = 9, B = 3, C = 7, D = 3\",\"A = 9, B = 3, C = 7, D = 6\",\"A = 12, B = 4, C = 8, D = 3\",\"A = 6, B = 2, C = 6, D = 3\"],\"answer\":2,\"sol\":\"Express everything in B: A = 3B and C = B + 4. Substitute into equation 3: 3B + B + 4 \u2212 B = 16, so 3B = 12 and B = 4. Then A = 12, C = 8 and D = 12 \u00f7 4 = 3.\"},{\"diff\":\"high\",\"eqs\":[\"A + B + C = 18\",\"3 \u00d7 A = B\",\"C = A \u2212 2\",\"D = B \u2212 C\"],\"options\":[\"A = 5, B = 15, C = 3, D = 12\",\"A = 4, B = 12, C = 4, D = 8\",\"A = 5, B = 15, C = 3, D = 18\",\"A = 4, B = 12, C = 2, D = 10\"],\"answer\":3,\"sol\":\"Express B and C in A: B = 3A and C = A \u2212 2. Substitute into equation 1: A + 3A + A \u2212 2 = 18, so 5A = 20 and A = 4. Then B = 12, C = 2 and D = 12 \u2212 2 = 10.\"},{\"diff\":\"high\",\"eqs\":[\"B \u2212 A = 5\",\"C = 2 \u00d7 A\",\"A + B + C = 25\",\"D = C \u2212 A\"],\"options\":[\"A = 5, B = 10, C = 10, D = 5\",\"A = 4, B = 9, C = 8, D = 4\",\"A = 5, B = 10, C = 10, D = 15\",\"A = 6, B = 11, C = 12, D = 6\"],\"answer\":0,\"sol\":\"Express B and C in A: B = A + 5 and C = 2A. Substitute into equation 3: A + A + 5 + 2A = 25, so 4A = 20 and A = 5. Then B = 10, C = 10 and D = 10 \u2212 5 = 5.\"},{\"diff\":\"high\",\"eqs\":[\"4 \u00d7 A = D\",\"B = D \u2212 3\",\"A + B = 12\",\"C = A + D\"],\"options\":[\"A = 2, B = 5, C = 10, D = 8\",\"A = 3, B = 9, C = 15, D = 12\",\"A = 3, B = 9, C = 12, D = 12\",\"A = 4, B = 13, C = 20, D = 16\"],\"answer\":1,\"sol\":\"Express B in A: D = 4A, so B = 4A \u2212 3. Substitute into equation 3: A + 4A \u2212 3 = 12, so 5A = 15 and A = 3. Then D = 12, B = 9 and C = 3 + 12 = 15.\"},{\"diff\":\"high\",\"eqs\":[\"A \u2212 B + C \u2212 D = 7\",\"3 \u00d7 B = A\",\"C = 2 \u00d7 B\",\"D = B + 2\"],\"options\":[\"A = 6, B = 2, C = 4, D = 4\",\"A = 12, B = 4, C = 8, D = 6\",\"A = 9, B = 3, C = 6, D = 5\",\"A = 9, B = 3, C = 6, D = 8\"],\"answer\":2,\"sol\":\"Express everything in B and substitute into equation 1: 3B \u2212 B + 2B \u2212 B \u2212 2 = 7, so 3B = 9 and B = 3. Then A = 9, C = 6 and D = 3 + 2 = 5.\"},{\"diff\":\"high\",\"eqs\":[\"2 \u00d7 A = C\",\"D \u00f7 3 = A\",\"B + D = 14\",\"A + B + C + D = 23\"],\"options\":[\"A = 2, B = 8, C = 4, D = 6\",\"A = 2, B = 8, C = 4, D = 9\",\"A = 3, B = 9, C = 6, D = 5\",\"A = 3, B = 5, C = 6, D = 9\"],\"answer\":3,\"sol\":\"Express C and D in A: C = 2A and D = 3A. Equation 3 gives B = 14 \u2212 3A. Substitute into equation 4: A + 14 \u2212 3A + 2A + 3A = 23, so 3A + 14 = 23 and A = 3. Then C = 6, D = 9 and B = 5.\"}]},\"ls\":{\"name\":\"Latin Squares\",\"minutes\":25,\"qs\":[{\"diff\":\"low\",\"clues\":[[1,4,\"C\"],[2,4,\"D\"],[4,4,\"A\"],[5,4,\"B\"]],\"target\":[3,4],\"options\":[\"A\",\"E\",\"B\",\"C\"],\"answer\":1,\"sol\":\"The cross at the question mark (column 4) already shows A, B, C, D. The only letter missing is E.\"},{\"diff\":\"low\",\"clues\":[[1,1,\"A\"],[3,1,\"D\"],[4,1,\"E\"],[5,1,\"C\"]],\"target\":[2,1],\"options\":[\"A\",\"C\",\"B\",\"D\"],\"answer\":2,\"sol\":\"The cross at the question mark (column 1) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"low\",\"clues\":[[2,2,\"B\"],[3,2,\"E\"],[4,2,\"C\"],[5,2,\"D\"]],\"target\":[1,2],\"options\":[\"B\",\"C\",\"D\",\"A\"],\"answer\":3,\"sol\":\"The cross at the question mark (column 2) already shows B, C, D, E. The only letter missing is A.\"},{\"diff\":\"low\",\"clues\":[[2,1,\"D\"],[2,3,\"E\"],[2,4,\"C\"],[2,5,\"A\"]],\"target\":[2,2],\"options\":[\"A\",\"C\",\"B\",\"D\"],\"answer\":2,\"sol\":\"The cross at the question mark (row 2) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"low\",\"clues\":[[1,3,\"D\"],[3,3,\"C\"],[4,3,\"A\"],[5,3,\"B\"]],\"target\":[2,3],\"options\":[\"E\",\"A\",\"B\",\"C\"],\"answer\":0,\"sol\":\"The cross at the question mark (column 3) already shows A, B, C, D. The only letter missing is E.\"},{\"diff\":\"low\",\"clues\":[[1,1,\"E\"],[1,2,\"C\"],[1,4,\"A\"],[1,5,\"D\"]],\"target\":[1,3],\"options\":[\"A\",\"C\",\"D\",\"B\"],\"answer\":3,\"sol\":\"The cross at the question mark (row 1) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"low\",\"clues\":[[2,1,\"E\"],[2,3,\"C\"],[2,4,\"B\"],[2,5,\"D\"]],\"target\":[2,2],\"options\":[\"A\",\"B\",\"C\",\"D\"],\"answer\":0,\"sol\":\"The cross at the question mark (row 2) already shows B, C, D, E. The only letter missing is A.\"},{\"diff\":\"medium\",\"clues\":[[1,4,\"A\"],[1,1,\"B\"],[1,2,\"E\"],[2,1,\"E\"],[5,3,\"D\"]],\"target\":[1,5],\"options\":[\"A\",\"B\",\"C\",\"D\"],\"answer\":3,\"sol\":\"Row 1 and column 3 together already show A, B, D, E, so row 1, column 3 must be C. The cross at the question mark (row 1) already shows A, B, C, E. The only letter missing is D.\"},{\"diff\":\"medium\",\"clues\":[[3,2,\"C\"],[5,2,\"B\"],[2,2,\"E\"],[4,5,\"D\"]],\"target\":[1,2],\"options\":[\"A\",\"B\",\"C\",\"D\"],\"answer\":3,\"sol\":\"Row 4 and column 2 together already show B, C, D, E, so row 4, column 2 must be A. The cross at the question mark (column 2) already shows A, B, C, E. The only letter missing is D.\"},{\"diff\":\"medium\",\"clues\":[[4,1,\"E\"],[3,1,\"C\"],[5,1,\"D\"],[2,2,\"B\"],[5,4,\"C\"]],\"target\":[1,1],\"options\":[\"A\",\"B\",\"C\",\"D\"],\"answer\":1,\"sol\":\"Row 2 and column 1 together already show B, C, D, E, so row 2, column 1 must be A. The cross at the question mark (column 1) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"medium\",\"clues\":[[4,5,\"D\"],[4,1,\"E\"],[4,4,\"A\"],[5,3,\"B\"],[3,5,\"B\"]],\"target\":[4,2],\"options\":[\"A\",\"C\",\"D\",\"B\"],\"answer\":3,\"sol\":\"Row 4 and column 3 together already show A, B, D, E, so row 4, column 3 must be C. The cross at the question mark (row 4) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"medium\",\"clues\":[[3,4,\"E\"],[3,1,\"A\"],[3,2,\"D\"],[5,3,\"B\"],[4,3,\"E\"]],\"target\":[3,5],\"options\":[\"A\",\"C\",\"B\",\"D\"],\"answer\":2,\"sol\":\"Row 3 and column 3 together already show A, B, D, E, so row 3, column 3 must be C. The cross at the question mark (row 3) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"medium\",\"clues\":[[5,4,\"D\"],[5,1,\"A\"],[5,5,\"B\"],[2,2,\"E\"],[1,1,\"E\"]],\"target\":[5,3],\"options\":[\"A\",\"B\",\"C\",\"E\"],\"answer\":3,\"sol\":\"Row 5 and column 2 together already show A, B, D, E, so row 5, column 2 must be C. The cross at the question mark (row 5) already shows A, B, C, D. The only letter missing is E.\"},{\"diff\":\"medium\",\"clues\":[[3,3,\"D\"],[3,1,\"B\"],[3,5,\"C\"],[4,2,\"A\"]],\"target\":[3,4],\"options\":[\"B\",\"C\",\"A\",\"D\"],\"answer\":2,\"sol\":\"Row 3 and column 2 together already show A, B, C, D, so row 3, column 2 must be E. The cross at the question mark (row 3) already shows B, C, D, E. The only letter missing is A.\"},{\"diff\":\"high\",\"clues\":[[2,3,\"E\"],[3,4,\"E\"],[4,2,\"B\"],[3,1,\"A\"],[4,4,\"D\"],[4,3,\"C\"],[3,5,\"B\"]],\"target\":[3,2],\"options\":[\"A\",\"C\",\"B\",\"D\"],\"answer\":1,\"sol\":\"Row 3 and column 3 together already show A, B, C, E, so row 3, column 3 must be D. The cross at the question mark (row 3 and column 2 together) already show A, B, D, E. The only letter missing is C.\"},{\"diff\":\"high\",\"clues\":[[4,5,\"E\"],[3,3,\"A\"],[1,2,\"E\"],[3,5,\"B\"],[2,4,\"D\"],[1,3,\"C\"],[5,4,\"A\"]],\"target\":[3,4],\"options\":[\"E\",\"A\",\"B\",\"C\"],\"answer\":0,\"sol\":\"Row 1 and column 4 together already show A, C, D, E, so row 1, column 4 must be B. Row 4 and column 4 together already show A, B, D, E, so row 4, column 4 must be C. The cross at the question mark (row 3 and column 4 together) already show A, B, C, D. The only letter missing is E.\"},{\"diff\":\"high\",\"clues\":[[2,3,\"D\"],[4,3,\"E\"],[4,2,\"B\"],[5,4,\"D\"],[5,1,\"B\"],[1,3,\"C\"]],\"target\":[3,3],\"options\":[\"A\",\"C\",\"B\",\"D\"],\"answer\":2,\"sol\":\"Row 5 and column 3 together already show B, C, D, E, so row 5, column 3 must be A. The cross at the question mark (column 3) already shows A, C, D, E. The only letter missing is B.\"},{\"diff\":\"high\",\"clues\":[[4,4,\"C\"],[3,4,\"D\"],[1,2,\"A\"],[5,1,\"E\"],[1,5,\"D\"],[5,5,\"A\"]],\"target\":[1,4],\"options\":[\"A\",\"B\",\"C\",\"E\"],\"answer\":3,\"sol\":\"Row 5 and column 4 together already show A, C, D, E, so row 5, column 4 must be B. The cross at the question mark (row 1 and column 4 together) already show A, B, C, D. The only letter missing is E.\"},{\"diff\":\"high\",\"clues\":[[2,1,\"D\"],[3,4,\"E\"],[3,2,\"C\"],[1,2,\"B\"],[5,5,\"C\"],[3,5,\"B\"]],\"target\":[3,3],\"options\":[\"A\",\"B\",\"D\",\"C\"],\"answer\":2,\"sol\":\"Row 3 and column 1 together already show B, C, D, E, so row 3, column 1 must be A. The cross at the question mark (row 3) already shows A, B, C, E. The only letter missing is D.\"},{\"diff\":\"high\",\"clues\":[[1,5,\"B\"],[5,4,\"B\"],[3,4,\"C\"],[1,1,\"C\"],[2,3,\"E\"],[4,1,\"B\"],[4,4,\"D\"]],\"target\":[2,1],\"options\":[\"A\",\"B\",\"C\",\"D\"],\"answer\":3,\"sol\":\"Row 2 and column 4 together already show B, C, D, E, so row 2, column 4 must be A. The cross at the question mark (row 2 and column 1 together) already show A, B, C, E. The only letter missing is D.\"}]},\"gam\":{\"name\":\"General Academic Module\",\"minutes\":90,\"minutesExpress\":45,\"qs\":[{\"diff\":\"medium\",\"label\":\"Input 1 \u00b7 Data Interpretation\",\"stim\":\"<p class=\\\"dmt-ip\\\">A city metro system reports the following figures. <strong>Questions 1 to 3 refer to this input.<\/strong><\/p><table class=\\\"dmt-t\\\"><tr><th><\/th><th>2021<\/th><th>2025<\/th><\/tr>\\n<tr><td>Annual trips<\/td><td>46 million<\/td><td>54 million<\/td><\/tr>\\n<tr><td>City population<\/td><td>2.0 million<\/td><td>2.25 million<\/td><\/tr><\/table>\",\"text\":\"How did the number of trips per resident change from 2021 to 2025?\",\"options\":[\"It rose from 23 to 24\",\"It fell from 24 to 23\",\"It stayed constant\",\"It rose from 23 to 27\"],\"answer\":0,\"sol\":\"2021: 46 million trips divided by 2.0 million residents is 23 trips per resident. 2025: 54 divided by 2.25 is 24. The figure rose from 23 to 24.\"},{\"diff\":\"medium\",\"label\":\"Input 1 \u00b7 Data Interpretation\",\"stim\":\"<p class=\\\"dmt-ip\\\">A city metro system reports the following figures. <strong>Questions 1 to 3 refer to this input.<\/strong><\/p><table class=\\\"dmt-t\\\"><tr><th><\/th><th>2021<\/th><th>2025<\/th><\/tr>\\n<tr><td>Annual trips<\/td><td>46 million<\/td><td>54 million<\/td><\/tr>\\n<tr><td>City population<\/td><td>2.0 million<\/td><td>2.25 million<\/td><\/tr><\/table>\",\"text\":\"Which statement follows necessarily from the data?\",\"options\":[\"Ticket prices stayed constant\",\"Ridership grew faster than the population\",\"Every resident used the metro more often\",\"Ridership will pass 60 million trips by 2027\"],\"answer\":1,\"sol\":\"Trips grew by about 17.4% while population grew by 12.5%, so the comparison follows directly from the numbers. The other options are possible but not forced by the data: averages say nothing about every resident, and extrapolation beyond the reported years is not supported.\"},{\"diff\":\"high\",\"label\":\"Input 1 \u00b7 Data Interpretation\",\"stim\":\"<p class=\\\"dmt-ip\\\">A city metro system reports the following figures. <strong>Questions 1 to 3 refer to this input.<\/strong><\/p><table class=\\\"dmt-t\\\"><tr><th><\/th><th>2021<\/th><th>2025<\/th><\/tr>\\n<tr><td>Annual trips<\/td><td>46 million<\/td><td>54 million<\/td><\/tr>\\n<tr><td>City population<\/td><td>2.0 million<\/td><td>2.25 million<\/td><\/tr><\/table>\",\"text\":\"In 2025, 30% of all trips used a monthly pass. Passengers without a pass made how many trips?\",\"options\":[\"16.2 million\",\"24.3 million\",\"37.8 million\",\"43.8 million\"],\"answer\":2,\"sol\":\"Trips without a pass are 70% of 54 million, which is 37.8 million. The trap answer 16.2 million computes the pass trips instead of the non-pass trips.\"},{\"diff\":\"low\",\"label\":\"Input 2 \u00b7 Rates Working Together\",\"stim\":\"<p class=\\\"dmt-ip\\\">Pump A fills a 900-litre tank alone in 6 hours. Pump B fills the same tank alone in 3 hours. <strong>Questions 4 to 6 refer to this input.<\/strong><\/p>\",\"text\":\"What is the filling rate of pump B?\",\"options\":[\"150 litres per hour\",\"450 litres per hour\",\"200 litres per hour\",\"300 litres per hour\"],\"answer\":3,\"sol\":\"900 litres divided by 3 hours is 300 litres per hour. Pump A, for comparison, manages 900 divided by 6, which is 150 litres per hour.\"},{\"diff\":\"medium\",\"label\":\"Input 2 \u00b7 Rates Working Together\",\"stim\":\"<p class=\\\"dmt-ip\\\">Pump A fills a 900-litre tank alone in 6 hours. Pump B fills the same tank alone in 3 hours. <strong>Questions 4 to 6 refer to this input.<\/strong><\/p>\",\"text\":\"How long do both pumps together need to fill the empty tank?\",\"options\":[\"2 hours\",\"4.5 hours\",\"3 hours\",\"1.5 hours\"],\"answer\":0,\"sol\":\"Together the pumps deliver 150 + 300 = 450 litres per hour. The tank needs 900 divided by 450, which is 2 hours. The trap answer 4.5 averages the two times, and times can never be averaged this way.\"},{\"diff\":\"medium\",\"label\":\"Input 2 \u00b7 Rates Working Together\",\"stim\":\"<p class=\\\"dmt-ip\\\">Pump A fills a 900-litre tank alone in 6 hours. Pump B fills the same tank alone in 3 hours. <strong>Questions 4 to 6 refer to this input.<\/strong><\/p>\",\"text\":\"Which statement follows necessarily from the data?\",\"options\":[\"Pump B is newer than pump A\",\"Pump B delivers twice the flow of pump A\",\"Both pumps use the same power\",\"Pump A is defective\"],\"answer\":1,\"sol\":\"Pump B fills the tank in half the time, so its flow rate is exactly twice as high: 300 versus 150 litres per hour. The other options introduce facts about age, power and condition that the data does not contain.\"},{\"diff\":\"low\",\"label\":\"Input 3 \u00b7 Applying a Rule\",\"stim\":\"<p class=\\\"dmt-ip\\\">A phone battery discharges at a constant 4 percentage points per hour while the screen is on. The battery starts at 100%. <strong>Questions 7 to 9 refer to this input.<\/strong><\/p>\",\"text\":\"What is the battery level after 6 hours of screen-on time?\",\"options\":[\"82%\",\"24%\",\"76%\",\"70%\"],\"answer\":2,\"sol\":\"Six hours at 4 percentage points per hour uses 24 points, so the level is 100 \u2212 24 = 76%. The trap answer 24% reports what was used instead of what remains.\"},{\"diff\":\"medium\",\"label\":\"Input 3 \u00b7 Applying a Rule\",\"stim\":\"<p class=\\\"dmt-ip\\\">A phone battery discharges at a constant 4 percentage points per hour while the screen is on. The battery starts at 100%. <strong>Questions 7 to 9 refer to this input.<\/strong><\/p>\",\"text\":\"After how many hours does the battery reach 40%?\",\"options\":[\"10 hours\",\"12 hours\",\"25 hours\",\"15 hours\"],\"answer\":3,\"sol\":\"The battery must drop 60 percentage points, and 60 divided by 4 is 15 hours. The trap answer 10 divides the target level 40 by 4 instead of the drop.\"},{\"diff\":\"high\",\"label\":\"Input 3 \u00b7 Applying a Rule\",\"stim\":\"<p class=\\\"dmt-ip\\\">A phone battery discharges at a constant 4 percentage points per hour while the screen is on. The battery starts at 100%. <strong>Questions 7 to 9 refer to this input.<\/strong><\/p>\",\"text\":\"Which is the safest conclusion from this rule?\",\"options\":[\"At the stated rate, a full battery reaches 0% after 25 hours of screen-on time\",\"The battery always lasts 25 hours whatever the use\",\"With the screen off, the battery does not discharge at all\",\"The discharge rate rises as the battery ages\"],\"answer\":0,\"sol\":\"The rule covers screen-on use at a constant rate, so 100 divided by 4 gives 25 hours of screen-on time, and only that conclusion stays inside the rule. The other options extend it to screen-off behaviour or ageing, which the input says nothing about.\"},{\"diff\":\"low\",\"label\":\"Input 4 \u00b7 Percentages in Sequence\",\"stim\":\"<p class=\\\"dmt-ip\\\">A bookstore prices a textbook at Rs.800. In a sale it first reduces the price by 25%, then raises the sale price by 10%. <strong>Questions 10 to 12 refer to this input.<\/strong><\/p>\",\"text\":\"What is the price after the 25% reduction?\",\"options\":[\"Rs.200\",\"Rs.600\",\"Rs.575\",\"Rs.640\"],\"answer\":1,\"sol\":\"25% of 800 is 200, so the reduced price is 800 \u2212 200 = Rs.600. The trap answer Rs.200 reports the discount instead of the price.\"},{\"diff\":\"medium\",\"label\":\"Input 4 \u00b7 Percentages in Sequence\",\"stim\":\"<p class=\\\"dmt-ip\\\">A bookstore prices a textbook at Rs.800. In a sale it first reduces the price by 25%, then raises the sale price by 10%. <strong>Questions 10 to 12 refer to this input.<\/strong><\/p>\",\"text\":\"What is the final price after the 10% increase?\",\"options\":[\"Rs.680\",\"Rs.720\",\"Rs.660\",\"Rs.520\"],\"answer\":2,\"sol\":\"The increase applies to the sale price, so 600 \u00d7 1.1 = Rs.660. The trap answer Rs.520 subtracts 35% from the original price, but percentage changes in sequence never simply add.\"},{\"diff\":\"high\",\"label\":\"Input 4 \u00b7 Percentages in Sequence\",\"stim\":\"<p class=\\\"dmt-ip\\\">A bookstore prices a textbook at Rs.800. In a sale it first reduces the price by 25%, then raises the sale price by 10%. <strong>Questions 10 to 12 refer to this input.<\/strong><\/p>\",\"text\":\"By what percentage is the final price below the original price?\",\"options\":[\"15%\",\"25%\",\"35%\",\"17.5%\"],\"answer\":3,\"sol\":\"660 divided by 800 is 0.825, so the final price is 82.5% of the original, a reduction of 17.5%. The trap answers 15% and 35% add or subtract the two percentages directly, which uses the wrong base for the second change.\"},{\"diff\":\"low\",\"label\":\"Input 5 \u00b7 Ratios and Requirements\",\"stim\":\"<p class=\\\"dmt-ip\\\">A student hostel houses 480 students and staffs one warden for every 8 students. A new regulation requires one warden for every 6 students. <strong>Questions 13 to 15 refer to this input.<\/strong><\/p>\",\"text\":\"How many wardens does the hostel currently employ?\",\"options\":[\"60\",\"80\",\"48\",\"40\"],\"answer\":0,\"sol\":\"480 students divided by 8 students per warden gives 60 wardens.\"},{\"diff\":\"medium\",\"label\":\"Input 5 \u00b7 Ratios and Requirements\",\"stim\":\"<p class=\\\"dmt-ip\\\">A student hostel houses 480 students and staffs one warden for every 8 students. A new regulation requires one warden for every 6 students. <strong>Questions 13 to 15 refer to this input.<\/strong><\/p>\",\"text\":\"How many additional wardens does the new regulation require?\",\"options\":[\"80\",\"20\",\"26\",\"14\"],\"answer\":1,\"sol\":\"The new requirement is 480 divided by 6, which is 80 wardens. The hostel already employs 60, so it needs 80 \u2212 60 = 20 more. The trap answer 80 is the total requirement, not the additional hires.\"},{\"diff\":\"high\",\"label\":\"Input 5 \u00b7 Ratios and Requirements\",\"stim\":\"<p class=\\\"dmt-ip\\\">A student hostel houses 480 students and staffs one warden for every 8 students. A new regulation requires one warden for every 6 students. <strong>Questions 13 to 15 refer to this input.<\/strong><\/p>\",\"text\":\"The hostel expands to 600 students under the old 1-to-8 rule. How many wardens would it need?\",\"options\":[\"100\",\"72\",\"75\",\"80\"],\"answer\":2,\"sol\":\"600 divided by 8 is 75 wardens. The trap answer 100 applies the new 1-to-6 rule, which the question explicitly sets aside.\"},{\"diff\":\"medium\",\"label\":\"Input 6 \u00b7 Evaluating Conclusions\",\"stim\":\"<p class=\\\"dmt-ip\\\">A study surveys 2,000 first-year students at one German university and finds that students who attended a preparatory maths course failed their first-semester maths exam less often than students who did not attend. <strong>Questions 16 to 18 refer to this input.<\/strong><\/p>\",\"text\":\"Which conclusion does the survey support?\",\"options\":[\"The preparatory course causes better exam results\",\"Every attending student passed the exam\",\"All universities should make the course compulsory\",\"Attendance and lower failure rates occurred together in this group\"],\"answer\":3,\"sol\":\"A survey of one group at one university shows an association, nothing more. Causation would need a controlled comparison, the word \\\"less often\\\" does not mean zero failures, and a policy recommendation goes far beyond the data.\"},{\"diff\":\"medium\",\"label\":\"Input 6 \u00b7 Evaluating Conclusions\",\"stim\":\"<p class=\\\"dmt-ip\\\">A study surveys 2,000 first-year students at one German university and finds that students who attended a preparatory maths course failed their first-semester maths exam less often than students who did not attend. <strong>Questions 16 to 18 refer to this input.<\/strong><\/p>\",\"text\":\"Which additional information would most weaken the suggested link?\",\"options\":[\"Students with stronger school maths grades enrolled in the course more often\",\"The course was free of charge\",\"The exam took place in January\",\"The survey was anonymous\"],\"answer\":0,\"sol\":\"If stronger students self-selected into the course, their lower failure rate may reflect prior ability rather than the course. This is the classic hidden-variable objection. The other options do not touch the link between course and results.\"},{\"diff\":\"high\",\"label\":\"Input 6 \u00b7 Evaluating Conclusions\",\"stim\":\"<p class=\\\"dmt-ip\\\">A study surveys 2,000 first-year students at one German university and finds that students who attended a preparatory maths course failed their first-semester maths exam less often than students who did not attend. <strong>Questions 16 to 18 refer to this input.<\/strong><\/p>\",\"text\":\"The failure rate among non-attendees was 24% and among attendees 15%. Of 2,000 students, 800 attended. How many students failed?\",\"options\":[\"288\",\"408\",\"120\",\"480\"],\"answer\":1,\"sol\":\"Attendees: 15% of 800 is 120. Non-attendees: 24% of 1,200 is 288. Together 120 + 288 = 408 students failed. The trap answers report only one of the two groups.\"},{\"diff\":\"medium\",\"label\":\"Input 7 \u00b7 Working with a Formula\",\"stim\":\"<p class=\\\"dmt-ip\\\">A student converts euros to rupees using the formula INR = EUR \u00d7 rate. In January the rate is 90; in March it is 100. A university fee is fixed at Rs.25,000. <strong>Questions 19 and 20 refer to this input.<\/strong><\/p>\",\"text\":\"How many euros does the fee cost in January, rounded to the nearest euro?\",\"options\":[\"250 euros\",\"280 euros\",\"278 euros\",\"272 euros\"],\"answer\":2,\"sol\":\"EUR = 25,000 divided by 90, which is 277.8, so 278 euros. The trap answer 250 uses the March rate.\"},{\"diff\":\"high\",\"label\":\"Input 7 \u00b7 Working with a Formula\",\"stim\":\"<p class=\\\"dmt-ip\\\">A student converts euros to rupees using the formula INR = EUR \u00d7 rate. In January the rate is 90; in March it is 100. A university fee is fixed at Rs.25,000. <strong>Questions 19 and 20 refer to this input.<\/strong><\/p>\",\"text\":\"How many euros does the student save by paying in March instead of January?\",\"options\":[\"10 euros\",\"25 euros\",\"2,500 euros\",\"28 euros\"],\"answer\":3,\"sol\":\"January: 278 euros. March: 25,000 divided by 100 is 250 euros. The saving is 278 \u2212 250 = 28 euros. A rising rate makes a fixed rupee amount cheaper in euros, and the trap answer 2,500 works in rupees, not euros.\"}]}};\nvar ORDER = ['fs','me','ls','gam'];\nvar app = document.getElementById('dmt-app');\nvar intro = document.getElementById('dmt-intro');\nvar mode = 'full';\nvar st = null, tick = null;\nvar revFilter = 'wrong';\nfunction modeName(){ return mode === 'full' ? 'Full mock' : 'Express mock'; }\n\n\/\/ hide the blog's sticky counselling CTA while a mock is running AND the player\n\/\/ is on screen; restore it when the user scrolls away, exits, or never started\nvar wrapInView = false;\nvar wrapEl = document.getElementById('dmat-mock-player');\nfunction updateCta(){\n  var cta = document.querySelector('.counselling_sticky_button');\n  if(!cta) return;\n  var active = st !== null && !app.classList.contains('dmt-hide');\n  if(active && wrapInView){\n    if(!cta.hasAttribute('data-dmt-disp')){\n      cta.setAttribute('data-dmt-disp', cta.style.display || '');\n      cta.style.setProperty('display', 'none', 'important');\n    }\n  } else if(cta.hasAttribute('data-dmt-disp')){\n    cta.style.display = cta.getAttribute('data-dmt-disp');\n    if(!cta.style.display) cta.style.removeProperty('display');\n    cta.removeAttribute('data-dmt-disp');\n  }\n}\nif(window.IntersectionObserver && wrapEl){\n  new IntersectionObserver(function(entries){\n    wrapInView = entries[0].isIntersecting;\n    updateCta();\n  }, {threshold: 0}).observe(wrapEl);\n}\n\ndocument.querySelectorAll('#dmt-modes .dmt-mode').forEach(function(m){\n  function pick(){ mode = m.getAttribute('data-mode');\n    document.querySelectorAll('#dmt-modes .dmt-mode').forEach(function(x){x.classList.remove('dmt-on');});\n    m.classList.add('dmt-on'); }\n  m.addEventListener('click', pick);\n  m.addEventListener('keydown', function(e){ if(e.key==='Enter'||e.key===' '){e.preventDefault();pick();} });\n});\n\nfunction esc(s){ return String(s); }\nfunction fmt(sec){ var m=Math.floor(sec\/60), s=sec%60; return (m<10?'0':'')+m+':'+(s<10?'0':'')+s; }\n\nfunction matrix(cells, isQ){\n  var map = {};\n  (cells||[]).forEach(function(f){ map[f[0]+'-'+f[1]] = f; });\n  var h = '<table class=\"dmt-m'+(isQ?' dmt-mq':'')+'\" role=\"presentation\">';\n  for(var r=1;r<=4;r++){ h+='<tr>';\n    for(var c=1;c<=4;c++){ var f = map[r+'-'+c];\n      if(isQ && r===2 && c===2){ h+='<td>?<\/td>'; }\n      else if(f){ h+='<td class=\"dmt-c-'+f[3]+'\">'+f[2]+'<\/td>'; }\n      else{ h+='<td><\/td>'; } }\n    h+='<\/tr>'; }\n  return h+'<\/table>';\n}\nfunction lsgrid(clues, target){\n  var map = {};\n  clues.forEach(function(x){ map[x[0]+'-'+x[1]] = x[2]; });\n  var h = '<table class=\"dmt-g\" role=\"presentation\">';\n  for(var r=1;r<=5;r++){ h+='<tr>';\n    for(var c=1;c<=5;c++){\n      if(r===target[0] && c===target[1]) h+='<td class=\"dmt-qm\">?<\/td>';\n      else h+='<td>'+(map[r+'-'+c]||'')+'<\/td>'; }\n    h+='<\/tr>'; }\n  return h+'<\/table>';\n}\nfunction stimulus(key, q){\n  if(key==='fs'){\n    var h = '<p class=\"dmt-qtext\">'+q.instr+'<\/p><div class=\"dmt-seq\">';\n    q.frames.forEach(function(f){ h += matrix(f,false); });\n    h += matrix(null,true) + '<\/div>';\n    return h;\n  }\n  if(key==='me'){\n    return '<p class=\"dmt-qtext\">Solve the system of equations in your head, no calculator or notes.<\/p><div class=\"dmt-eq\">'+q.eqs.join('<br>')+'<\/div>';\n  }\n  if(key==='ls'){\n    return '<p class=\"dmt-qtext\">Each letter A to E appears exactly once in every row and every column. Which letter belongs in the field with the question mark?<\/p>'+lsgrid(q.clues,q.target);\n  }\n  return '<div class=\"dmt-input\"><p class=\"dmt-ilabel\">&#128196; '+q.label+'<\/p>'+q.stim+'<\/div><p class=\"dmt-qtext\">'+q.text+'<\/p>';\n}\nfunction optionsHtml(key, q, chosen){\n  if(key==='fs'){\n    var h = '<div class=\"dmt-fopts\">';\n    q.options.forEach(function(o,i){\n      h += '<div class=\"dmt-fopt'+(chosen===i?' dmt-sel':'')+'\" data-i=\"'+i+'\" role=\"button\" tabindex=\"0\">'+matrix(o,false)+'<div class=\"dmt-ol\">'+String.fromCharCode(65+i)+'<\/div><\/div>';\n    });\n    return h+'<\/div>';\n  }\n  var h = '<ul class=\"dmt-opts\">';\n  q.options.forEach(function(o,i){\n    h += '<li data-i=\"'+i+'\" class=\"'+(chosen===i?'dmt-sel':'')+'\" role=\"button\" tabindex=\"0\"><b>'+String.fromCharCode(97+i)+')<\/b> '+o+'<\/li>';\n  });\n  return h+'<\/ul>';\n}\n\nfunction start(){\n  st = { si:0, qi:0, answers:{}, left:{}, used:{}, stage:'secintro' };\n  revFilter = 'wrong';\n  ORDER.forEach(function(k){\n    st.answers[k] = D[k].qs.map(function(){ return null; });\n    var mins = (k==='gam' && mode==='express') ? D.gam.minutesExpress : D[k].minutes;\n    st.left[k] = mins*60; st.used[k] = 0;\n  });\n  intro.classList.add('dmt-hide');\n  app.classList.remove('dmt-hide');\n  render();\n}\ndocument.getElementById('dmt-go').addEventListener('click', start);\n\nfunction startTimer(){\n  stopTimer();\n  tick = setInterval(function(){\n    var k = ORDER[st.si];\n    st.left[k]--; st.used[k]++;\n    var el = document.getElementById('dmt-timer');\n    if(el){ el.textContent = fmt(st.left[k]);\n      if(st.left[k] < 120) el.classList.add('dmt-low'); }\n    if(st.left[k] <= 0){ submitSection(true); }\n  }, 1000);\n}\nfunction stopTimer(){ if(tick){ clearInterval(tick); tick=null; } }\n\nfunction submitSection(auto){\n  stopTimer();\n  if(st.si === 2){ st.stage = 'break'; }\n  else if(st.si === 3){ st.stage = 'results'; }\n  else { st.si++; st.qi = 0; st.stage = 'secintro'; }\n  if(st.stage !== 'break' && st.si === 3 && st.stage !== 'results' ){ \/* noop *\/ }\n  render(auto ? 'auto' : null);\n}\n\nfunction render(flag){\n  updateCta();\n  var k = ORDER[st.si];\n  var S = D[k];\n  var h = '';\n  if(st.stage === 'secintro'){\n    var mins = Math.round(st.left[k]\/60);\n    h = '<div class=\"dmt-card dmt-center\"><p class=\"dmt-t\">Section '+(st.si+1)+' of 4: '+S.name+'<\/p>'\n      + '<p class=\"dmt-s\">'+S.qs.length+' questions &middot; '+mins+' minutes &middot; '+modeName()+'. The timer starts when you press the button and cannot be paused.<\/p>'\n      + (flag==='auto' ? '<p class=\"dmt-s\"><strong>Time was up in the previous section, so it submitted automatically.<\/strong><\/p>' : '')\n      + '<button class=\"dmt-start\" id=\"dmt-secgo\" type=\"button\">Start '+S.name+'<\/button>'\n      + (st.si===0 ? '<p style=\"margin:14px 0 0\"><a class=\"dmt-back\" id=\"dmt-exit\" tabindex=\"0\">&#8592; Back to mode selection<\/a><\/p>' : '')\n      + '<\/div>';\n    app.innerHTML = h;\n    document.getElementById('dmt-secgo').addEventListener('click', function(){\n      st.stage='q'; render(); startTimer();\n    });\n    var ex = document.getElementById('dmt-exit');\n    if(ex) ex.addEventListener('click', function(){\n      stopTimer(); st = null;\n      app.classList.add('dmt-hide'); app.innerHTML = '';\n      intro.classList.remove('dmt-hide');\n      updateCta();\n      window.scrollTo({top: intro.getBoundingClientRect().top + window.pageYOffset - 110});\n    });\n    window.scrollTo({top: app.getBoundingClientRect().top + window.pageYOffset - 110, behavior:'instant' in window ? 'instant' : 'auto'});\n    return;\n  }\n  if(st.stage === 'break'){\n    h = '<div class=\"dmt-card dmt-brk\"><p class=\"dmt-t\">Core Module complete<\/p>'\n      + '<p class=\"dmt-s\">In the real exam a 30-minute break comes here, between the two parts. Stand up, drink some water, then continue with the General Academic Module.<\/p>'\n      + (flag==='auto' ? '<p class=\"dmt-s\"><strong>Time was up in Latin Squares, so it submitted automatically.<\/strong><\/p>' : '')\n      + '<button class=\"dmt-start\" id=\"dmt-brkgo\" type=\"button\">Continue to Section 4<\/button><\/div>';\n    app.innerHTML = h;\n    document.getElementById('dmt-brkgo').addEventListener('click', function(){\n      st.si = 3; st.qi = 0; st.stage = 'secintro'; render();\n    });\n    return;\n  }\n  if(st.stage === 'results'){ renderResults(flag); return; }\n\n  \/\/ question screen\n  var q = S.qs[st.qi];\n  var chosen = st.answers[k][st.qi];\n  h = '<div class=\"dmt-card\">'\n    + '<div class=\"dmt-hd\"><div><p class=\"dmt-hn\">'+S.name+'<\/p>'\n    + '<p class=\"dmt-hq\">Question '+(st.qi+1)+' of '+S.qs.length+'<\/p><\/div>'\n    + '<span><span class=\"dmt-mb\">'+modeName()+'<\/span><span class=\"dmt-tm\" id=\"dmt-timer\">'+fmt(st.left[k])+'<\/span><\/span><\/div>'\n    + stimulus(k,q) + optionsHtml(k,q,chosen)\n    + '<div class=\"dmt-nav2\">'\n    + '<a class=\"dmt-lnk'+(st.qi===0?' dmt-dis':'')+'\" id=\"dmt-prev\" tabindex=\"0\">&#8592; Prev<\/a>'\n    + '<a class=\"dmt-lnk'+(st.qi===S.qs.length-1?' dmt-dis':'')+'\" id=\"dmt-next\" tabindex=\"0\">Next &#8594;<\/a>'\n    + '<\/div>'\n    + '<div class=\"dmt-pal\" id=\"dmt-pal\">'\n    + S.qs.map(function(_,i){\n        return '<button type=\"button\" class=\"dmt-pc'+(st.answers[k][i]!==null?' dmt-ans':'')+(i===st.qi?' dmt-cur':'')+'\" data-i=\"'+i+'\">'+(i+1)+'<\/button>';\n      }).join('')\n    + '<\/div>'\n    + (function(){\n        var answered = st.answers[k].filter(function(a){ return a !== null; }).length;\n        var goal = st.si === 3 ? 'see your result' : 'continue to the next section';\n        return '<p class=\"dmt-hint\">Attempt all '+S.qs.length+' questions, then submit to '+goal+'. <strong>'+answered+' of '+S.qs.length+' answered.<\/strong><\/p>'\n          + '<p style=\"margin:10px 0 0\"><button class=\"dmt-start\" id=\"dmt-sub\" type=\"button\" data-arm=\"0\">Submit Section<\/button><\/p>';\n      })()\n    + '<\/div>';\n  app.innerHTML = h;\n  if(st.left[k] < 120) document.getElementById('dmt-timer').classList.add('dmt-low');\n\n  function choose(i){\n    st.answers[k][st.qi] = i;\n    var qAtPick = st.qi;\n    render();\n    \/\/ auto-advance to the next question after a short beat, unless on the last one\n    if(qAtPick < S.qs.length-1){\n      setTimeout(function(){\n        if(st && st.stage === 'q' && ORDER[st.si] === k && st.qi === qAtPick){\n          st.qi++;\n          render();\n          window.scrollTo({top: app.getBoundingClientRect().top + window.pageYOffset - 110, behavior: 'smooth'});\n        }\n      }, 350);\n    }\n  }\n  app.querySelectorAll('[data-i]').forEach(function(el){\n    if(el.classList.contains('dmt-pc')){\n      el.addEventListener('click', function(){ st.qi = +el.getAttribute('data-i'); render(); });\n    } else {\n      el.addEventListener('click', function(){ choose(+el.getAttribute('data-i')); });\n      el.addEventListener('keydown', function(e){ if(e.key==='Enter'||e.key===' '){ e.preventDefault(); choose(+el.getAttribute('data-i')); } });\n    }\n  });\n  var prev = document.getElementById('dmt-prev');\n  if(prev) prev.addEventListener('click', function(){ if(st.qi>0){ st.qi--; render(); } });\n  var next = document.getElementById('dmt-next');\n  if(next) next.addEventListener('click', function(){ if(st.qi<S.qs.length-1){ st.qi++; render(); } });\n  var sub = document.getElementById('dmt-sub');\n  sub.addEventListener('click', function(){\n    var un = st.answers[k].filter(function(a){return a===null;}).length;\n    if(sub.getAttribute('data-arm')==='0' && un>0){\n      sub.setAttribute('data-arm','1');\n      sub.textContent = un+' unanswered. Submit anyway?';\n      setTimeout(function(){ if(sub && document.body.contains(sub)){ sub.setAttribute('data-arm','0'); sub.textContent='Submit Section'; } }, 4000);\n      return;\n    }\n    submitSection(false);\n  });\n}\n\nfunction revQ(k, q, i){\n  var mine = st.answers[k][i];\n  var ok = mine === q.answer;\n  var badge = mine===null ? '<span class=\"dmt-badge dmt-b-sk\">Skipped<\/span>'\n    : (ok ? '<span class=\"dmt-badge dmt-b-ok\">Correct<\/span>' : '<span class=\"dmt-badge dmt-b-no\">Wrong<\/span>');\n  var letter = function(x){ return k==='fs' ? String.fromCharCode(65+x) : String.fromCharCode(97+x); };\n  return '<div class=\"dmt-rev-q '+(mine===null?'':(ok?'dmt-ok':'dmt-no'))+'\">'\n    + '<p class=\"dmt-rev-h\">Question '+(i+1)+badge+'<\/p>'\n    + stimulus(k,q)\n    + '<p class=\"dmt-rev-a\"><strong>Correct answer: '+letter(q.answer)+'.<\/strong>'\n    + (mine!==null && !ok ? ' Your answer: '+letter(mine)+'.' : '')\n    + '<\/p><p class=\"dmt-rev-s\">'+q.sol+'<\/p><\/div>';\n}\n\nfunction renderResults(flag, keepOpen){\n  keepOpen = keepOpen || {};\n  var total = 0, max = 0;\n  var cards = '';\n  ORDER.forEach(function(k){\n    var S = D[k], good = 0;\n    S.qs.forEach(function(q,i){ if(st.answers[k][i] === q.answer) good++; });\n    total += good; max += S.qs.length;\n    cards += '<div class=\"dmt-res-c\"><p class=\"dmt-rn\">'+S.name+'<\/p><p class=\"dmt-rv\">'+good+' \/ '+S.qs.length+'<\/p><p class=\"dmt-rn\">Time used: '+fmt(st.used[k])+'<\/p><\/div>';\n  });\n  var h = '<div class=\"dmt-card\"><p class=\"dmt-t\">Your Mock Test Result <span class=\"dmt-mb\" style=\"vertical-align:3px\">'+modeName()+'<\/span><\/p>'\n    + (flag==='auto' ? '<p class=\"dmt-s\"><strong>Time was up in the last section, so it submitted automatically.<\/strong><\/p>' : '')\n    + '<p class=\"dmt-s\">Total score: <strong>'+total+' of '+max+'<\/strong>. The real dMAT reports a standardised score and percentile rather than a raw mark, so use this result to steer your revision, not to predict a certificate number.<\/p>'\n    + '<div class=\"dmt-res-g\">'+cards+'<\/div>'\n    + '<p class=\"dmt-s\">Open a section below to review. By default you see only the questions to fix, with the correct answer and the full solution path for each.<\/p>'\n    + '<p style=\"margin:0 0 18px\"><button class=\"dmt-ghost\" id=\"dmt-again\" type=\"button\">Take it again<\/button><\/p>'\n    + '<div class=\"dmt-fbar\"><span class=\"dmt-fl\">Show:<\/span>'\n    + '<button type=\"button\" class=\"dmt-fpill'+(revFilter==='wrong'?' dmt-fon':'')+'\" data-f=\"wrong\">Mistakes only<\/button>'\n    + '<button type=\"button\" class=\"dmt-fpill'+(revFilter==='all'?' dmt-fon':'')+'\" data-f=\"all\">All questions<\/button><\/div>';\n  ORDER.forEach(function(k){\n    var S = D[k];\n    var good = 0, missIdx = [];\n    S.qs.forEach(function(q,i){\n      if(st.answers[k][i] === q.answer) good++;\n      else missIdx.push(i);\n    });\n    var showIdx = revFilter === 'all' ? S.qs.map(function(_,i){ return i; }) : missIdx;\n    var items = showIdx.length\n      ? showIdx.map(function(i){ return revQ(k, S.qs[i], i); }).join('')\n      : '<p class=\"dmt-rev-none\">All '+S.qs.length+' answers correct. Nothing to fix in this section.<\/p>';\n    h += '<details class=\"dmt-racc\" data-k=\"'+k+'\"'+(keepOpen[k]?' open':'')+'>'\n      + '<summary><span>'+S.name+'<\/span><span class=\"dmt-rs\">'+good+'\/'+S.qs.length+' &middot; '+missIdx.length+' to review<\/span><\/summary>'\n      + '<div class=\"dmt-raccb\">'+items+'<\/div><\/details>';\n  });\n  h += '<\/div>';\n  app.innerHTML = h;\n  document.getElementById('dmt-again').addEventListener('click', function(){\n    st = null;\n    app.classList.add('dmt-hide'); intro.classList.remove('dmt-hide');\n    updateCta();\n    window.scrollTo({top: intro.getBoundingClientRect().top + window.pageYOffset - 110});\n  });\n  app.querySelectorAll('.dmt-fpill').forEach(function(b){\n    b.addEventListener('click', function(){\n      var f = b.getAttribute('data-f');\n      if(f === revFilter) return;\n      revFilter = f;\n      var open = {};\n      app.querySelectorAll('details.dmt-racc').forEach(function(d){ open[d.getAttribute('data-k')] = d.open; });\n      open.__keepScroll = true;\n      renderResults(null, open);\n    });\n  });\n  if(!keepOpen.__keepScroll){\n    window.scrollTo({top: app.getBoundingClientRect().top + window.pageYOffset - 110});\n  }\n}\n})();\n<\/script>\n<\/div>\n<\/div><\/article><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Review_Your_dMAT_Mock_Test_Score\"><\/span><strong>How to Review Your dMAT Mock Test Score<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The score itself is the least useful part of your result. The review is where a dMAT mock test earns its time. Work through three layers:<\/p>\n\n\n\n<p><strong>Layer 1: the section split.<\/strong> Your four section scores tell you where the next fortnight goes. A weak first section sends you to <a href=\"https:\/\/leapscholar.com\/blog\/dmat-figure-sequences\/\">dMAT Figure Sequences practice<\/a>; a weak third section means the elimination method in <a href=\"https:\/\/leapscholar.com\/blog\/dmat-latin-squares\/\">dMAT Latin Squares<\/a> needs drilling.<\/p>\n\n\n\n<p><strong>Layer 2: the error type.<\/strong> Read the solution path for every wrong answer and name the mechanism. In the General Academic Module the four traps are the wrong percentage base, averaged averages, extrapolation beyond the data, and answering from knowledge instead of the input. In the Core Module it is usually a missed bounce, a lost candidate pair, or a substitution in the wrong order.<\/p>\n\n\n\n<p><strong>Layer 3: the clock.<\/strong> The player shows time used per section. Finishing Latin Squares with eight minutes to spare while missing six questions means you are rushing; running out of time in Mathematical Equations with high accuracy means you need pacing drills, not more theory.<\/p>\n\n\n\n<p><em>Remember that the real exam is not pass or fail: your standardized score appears on the APS certificate, and each university weighs it in its own admission process, as explained in our guide to <\/em><a href=\"https:\/\/leapscholar.com\/blog\/aps-dmat\/\"><em>dMAT and APS certification<\/em><\/a><em>.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"dMAT_Mock_Test_Strategy_for_Each_Section\"><\/span><strong>dMAT Mock Test Strategy for Each Section<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Use these pacing targets in the dMAT mock test, and carry them unchanged into the real sitting.<\/p>\n\n\n\n<p><strong>Figure Sequences (target: 75 seconds per question).<\/strong> Identify each figure&#8217;s rule separately before looking at the options. If two figures move, check the options against the figure you are most confident about first and eliminate.<\/p>\n\n\n\n<p><strong>Mathematical Equations (target: 75 seconds per question).<\/strong> Find the anchor equation, the one with a single unknown or a direct value, and substitute outward from it. If no anchor exists, express every variable in terms of one letter and collapse.<\/p>\n\n\n\n<p><strong>Latin Squares (target: 75 seconds per task).<\/strong> Read the cross first: the row and column meeting at the question mark. Four visible letters end the task immediately. Two candidates mean one forced neighbor away.<\/p>\n\n\n\n<p><strong>General Academic Module (target: 4 minutes per question).<\/strong> Read the questions before the input so you know which numbers matter. Anchor every percentage to its base, and pick only the conclusions that the data forces.<\/p>\n\n\n\n<p><em>Section pacing is trainable in isolation, and the <\/em><a href=\"https:\/\/leapscholar.com\/blog\/dmat-general-academic-module\/\"><em>dMAT General Academic Module<\/em><\/a><em> page includes the full input-reading method and 15 additional questions.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"dMAT_Mock_Test_Plan_Before_26_September_2026\"><\/span><strong>dMAT Mock Test Plan Before 26 September 2026<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>The dMAT is on 26 September 2026, and registration closes on 15 September.&nbsp;<\/strong><\/p>\n\n\n\n<p><em>Confirm your slot against the <\/em><a href=\"https:\/\/leapscholar.com\/blog\/dmat-exam-dates\/\"><em>dMAT exam dates and registration deadline<\/em><\/a><em>, then book your mocks.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-palette-color-5-background-color has-background\"><thead><tr><th><strong>Weeks before test<\/strong><\/th><th><strong>Mock test action<\/strong><\/th><\/tr><\/thead><tbody><tr><td>6<\/td><td>Full mock baseline. Record section scores and time used<\/td><\/tr><tr><td>5 to 3<\/td><td>No mocks. Section drilling on your two weakest areas<\/td><\/tr><tr><td>2<\/td><td>Full mock at 2 pm. Compare every section against the baseline<\/td><\/tr><tr><td>1<\/td><td>Final Full mock, laptop, exam-day conditions end-to-end<\/td><\/tr><tr><td>Test week<\/td><td>Short daily warm-ups only. Nothing new after Wednesday<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions_About_the_dMAT_Mock_Test\"><\/span><strong>Frequently Asked Questions About the dMAT Mock Test<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1786006506782\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>Where can I take a free dMAT mock test?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>The timed simulation on this page is free, requires no signup, and runs in the browser on any device. It mirrors the official structure: three 25-minute Core Module sections and a 90-minute General Academic Module, with instant scoring and a worked solution for all 80 questions.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006521590\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>Are there official dMAT mock tests or past papers?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>The TestDaF Institute publishes preparatory PDFs and instructional videos on d-mat.de with solved sample tasks, but no full-length timed mock and no past papers, since exam content is confidential. Format-accurate original simulations like this one are the realistic substitute, used alongside the official materials.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006535567\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \">How many mock tests should I take before the dMAT?<\/h5>\n<div class=\"rank-math-answer \">\n\n<p>Two to three full sittings serve almost everyone: a baseline about six weeks out, a progress check two weeks out, and a final rehearsal in test week. Improvement comes from reviewing errors between mocks, so more than four sittings usually crowds out the review that actually moves scores.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006559328\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>How long does a full dMAT mock test take?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>The full mode runs about 2 hours 45 minutes of test time: three 25-minute Core sections plus 90 minutes for the General Academic Module, with a break checkpoint in between. The real exam day totals about three and a half hours including its 30-minute break, so block an afternoon.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006573294\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>What is a good score on a dMAT mock test?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>There is no published pass mark because the real dMAT reports a standardized score and percentile rather than a raw total. As a working rule, clearing 70% in every section with time to spare means your preparation is on track; any section below 50% deserves a dedicated week of drilling.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006587340\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>Can I take the dMAT mock test on my phone?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>The simulation is built mobile-first: options are tap-sized, matrices scale to the screen, and the timer stays visible. One practical tip: sit your final mock on a laptop or desktop, since the real exam is taken on a computer at a test centre.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006602888\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>Is the real dMAT harder than a mock test?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>The question formats and timing here match the official preparatory materials, so difficulty per question is comparable. What usually feels harder on test day is the environment: exam-centre nerves, the identity checks, and the long sitting. That is precisely why full-length rehearsal under strict conditions matters more than extra question volume.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1786006620439\" class=\"rank-math-list-item\">\n<h5 class=\"rank-math-question \"><strong>When should I take my first dMAT mock test?<\/strong><\/h5>\n<div class=\"rank-math-answer \">\n\n<p>Take your first dMAT mock test after one to two weeks of section-level practice, not on day one. A mock before you know the three Core formats measures unfamiliarity rather than ability. Learn the formats first on the practice pages, then use your first full sitting to set an honest baseline.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\">6<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span> \u26a1 Quick Read Free timed simulation of the real dMAT: 80 original questions across all four sections, with instant section scores and full solutions Matches official timing exactly: three 25-minute Core Module sections, a break checkpoint, then a 90-minute General Academic Module (45 in Express mode) No calculator, notes, or rough paper; same aids-none rule [&hellip;]<\/p>\n","protected":false},"author":85,"featured_media":81768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[260],"tags":[1620],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/posts\/81751"}],"collection":[{"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/comments?post=81751"}],"version-history":[{"count":2,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/posts\/81751\/revisions"}],"predecessor-version":[{"id":81769,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/posts\/81751\/revisions\/81769"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/media\/81768"}],"wp:attachment":[{"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/media?parent=81751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/categories?post=81751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leapscholar.com\/blog\/wp-json\/wp\/v2\/tags?post=81751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}