{"id":1200,"date":"2026-06-02T23:12:53","date_gmt":"2026-06-02T23:12:53","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-2-test-3-rw\/"},"modified":"2026-07-05T02:44:40","modified_gmt":"2026-07-05T02:44:40","slug":"cambridge-ket-2-test-3-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-2-test-3-rw\/","title":{"rendered":"KET 2 \u2014 Test 3 Reading &#038; Writing"},"content":{"rendered":"\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&#038;family=Inter:wght@400;500;600;700&#038;display=swap\" id=\"ae4u-fonts-link\">\n<style id=\"ae4u-fonts\">:root{--ae4u-font-body:\"Inter\",system-ui,-apple-system,\"Segoe UI\",Roboto,sans-serif;--ae4u-font-heading:\"Plus Jakarta Sans\",\"Inter\",system-ui,sans-serif;--ae4u-font-mono:\"Inconsolata\",\"Source Code Pro\",Menlo,Consolas,monospace}body,p,li,dd,dt,blockquote,figcaption,table,.entry-content,.wp-block-post-content,input,textarea,select,.input-blank,.q-select,.writing-area{font-family:var(--ae4u-font-body)!important;font-feature-settings:\"cv11\" 1,\"ss01\" 1,\"kern\" 1,\"liga\" 1,\"calt\" 1;letter-spacing:-0.011em}body,.entry-content{font-size:16px;line-height:1.5}.small,small,.caption,figcaption,.muted{font-size:14px;line-height:1.5;color:#5b6577}h1,h2,h3,h4,h5,h6,.serif,.hero h1,.hero h2,.part-head h2,.results-banner h3{font-family:var(--ae4u-font-heading)!important;font-weight:700;letter-spacing:-0.025em;line-height:1.15}h1{font-weight:800;letter-spacing:-0.03em;line-height:1.1}h2{font-weight:700;letter-spacing:-0.025em;line-height:1.15}h3{font-weight:700;letter-spacing:-0.02em;line-height:1.25}h4,h5,h6{font-weight:600;letter-spacing:-0.015em;line-height:1.3}.test-chip .tc-txt b{font-family:var(--ae4u-font-heading)!important;font-weight:700;letter-spacing:-0.015em}button,.btn,.btn-primary,a.button,.wp-block-button__link,#submitBtn,#resetBtn,.sample-toggle{font-family:var(--ae4u-font-body)!important;font-weight:600;letter-spacing:-0.005em}@media(min-width:768px){body,.entry-content{font-size:16px;line-height:1.55}h1{font-size:clamp(36px,5vw,60px)}h2{font-size:clamp(28px,3.5vw,42px)}h3{font-size:clamp(22px,2.5vw,28px)}}@media(max-width:767px){body{font-size:15px;line-height:1.55}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}}code,kbd,pre,samp,.mono{font-family:var(--ae4u-font-mono)!important}.input-blank{font-family:var(--ae4u-font-body)!important;font-weight:600;letter-spacing:-0.005em}.qn{font-family:var(--ae4u-font-heading)!important;font-weight:700}#scoreBar,.score-bar{position:static!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;width:auto!important;max-width:1100px!important;margin:48px auto 24px auto!important;z-index:auto!important;border:1px solid rgba(0,0,0,0.08)!important;border-radius:18px!important;box-shadow:0 6px 24px rgba(15,23,42,0.06)!important;background:#fff!important;padding:16px 24px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body{padding-bottom:0!important}.score-bar .wrap,.score-bar .sb-inner{max-width:none;margin:0}.show-ans-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;background:#FEF3C7;color:#7B5B00;font-weight:700;font-size:12px;border:1px solid #E8D88E;cursor:pointer;transition:all .15s ease;margin:8px 0 0 0;font-family:var(--ae4u-font-body)!important;line-height:1.2}.show-ans-btn:hover{background:#FDE68A;transform:translateY(-1px)}.show-ans-btn:disabled{cursor:default;opacity:.6}.show-ans-btn.show-ans-inline{padding:4px 9px;font-size:11px;margin-left:6px;margin-top:0}.show-ans-result{display:inline-block;margin-left:8px;padding:4px 10px;border-radius:8px;background:rgba(16,185,129,.12);color:#065F46;font-weight:700;font-size:12px}.q-item.revealed{background:rgba(254,243,199,.4);border-color:#E8D88E;position:relative}.q-item.revealed::before{content:\"\\1F441 revealed\";position:absolute;top:8px;right:12px;font-size:10px;color:#7B5B00;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.input-blank[data-revealed=\"1\"]{background:rgba(254,243,199,.5)!important;border-color:#E8D88E!important;color:#7B5B00!important;font-weight:700}<\/style>\n<script id=\"ae4u-rw-show-ans\">(function(){var KEYS={\"1\":\"E\",\"2\":\"C\",\"3\":\"A\",\"4\":\"G\",\"5\":\"B\",\"6\":\"B\",\"7\":\"C\",\"8\":\"A\",\"9\":\"C\",\"10\":\"A\",\"11\":\"A\",\"12\":\"B\",\"13\":\"C\",\"14\":\"B\",\"15\":\"C\",\"16\":\"B\",\"17\":\"F\",\"18\":\"H\",\"19\":\"A\",\"20\":\"E\",\"21\":\"B\",\"22\":\"B\",\"23\":\"C\",\"24\":\"B\",\"25\":\"A\",\"26\":\"A\",\"27\":\"B\",\"28\":\"A\",\"29\":\"A\",\"30\":\"A\",\"31\":\"C\",\"32\":\"B\",\"33\":\"B\",\"34\":\"A\",\"35\":\"C\",\"36\":\"table\",\"37\":\"cupboard\",\"38\":\"shower\",\"39\":\"window\",\"40\":\"shelf\",\"41\":\"to\",\"42\":\"with\",\"43\":\"at\",\"44\":\"we\",\"45\":\"this\",\"46\":\"to\",\"47\":\"am\",\"48\":\"ask\",\"49\":\"you\",\"50\":\"about\",\"51\":\"23 mount road oxford england\",\"52\":\"japanese\",\"53\":\"computer engineer\",\"54\":\"keiko\",\"55\":\"monday 15 april\"};function init(){Object.keys(KEYS).forEach(function(qid){var ans=KEYS[qid];var item=document.querySelector('.q-item[data-qid=\"'+qid+'\"]');if(item){if(item.querySelector('.show-ans-btn'))return;var btn=document.createElement('button');btn.className='show-ans-btn';btn.type='button';btn.dataset.show=qid;btn.innerHTML='\\u{1F441} Show Answer';item.appendChild(btn);btn.addEventListener('click',function(){item.classList.add('revealed');var d=item.querySelector('.show-ans-result');if(!d){d=document.createElement('span');d.className='show-ans-result';btn.insertAdjacentElement('afterend',d);}d.textContent='\\u2192 '+ans;btn.disabled=true;btn.textContent='\\u2714 Revealed';});return;}var sel=document.querySelector('.q-select[data-qid=\"'+qid+'\"]');if(sel&&!sel.parentElement.querySelector('.show-ans-btn[data-show=\"'+qid+'\"]')){var bs=document.createElement('button');bs.className='show-ans-btn show-ans-inline';bs.type='button';bs.dataset.show=qid;bs.textContent='\\u{1F441}';bs.title='Show answer for Q'+qid;sel.insertAdjacentElement('afterend',bs);bs.addEventListener('click',function(){sel.value=ans;sel.dataset.revealed='1';sel.style.background='rgba(254,243,199,.5)';sel.style.borderColor='#E8D88E';sel.style.color='#7B5B00';sel.style.fontWeight='700';bs.disabled=true;bs.textContent='\\u2714 '+ans;});return;}var blank=document.querySelector('.input-blank[data-q=\"'+qid+'\"]');if(blank&&!blank.parentElement.querySelector('.show-ans-btn[data-show=\"'+qid+'\"]')){var b=document.createElement('button');b.className='show-ans-btn show-ans-inline';b.type='button';b.dataset.show=qid;b.textContent='\\u{1F441}';b.title='Show answer for Q'+qid;blank.insertAdjacentElement('afterend',b);b.addEventListener('click',function(){blank.value=ans;blank.dataset.revealed='1';b.disabled=true;b.textContent='\\u2714 '+ans;});}});}function tryInit(){init();}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',tryInit);}else{tryInit();}setTimeout(tryInit,500);setTimeout(tryInit,1500);})();<\/script>\n\n<script id=\"ae4u-scorebar-move\">(function(){function move(){var sb=document.getElementById(\"scoreBar\");if(!sb||sb.dataset.aeMoved)return;var rb=document.getElementById(\"resultsBanner\");var p9=document.getElementById(\"part9\");var anchor=rb||p9;if(anchor&&anchor.parentNode){var target=rb?rb:p9.nextElementSibling;if(rb){rb.parentNode.insertBefore(sb,rb);}else{p9.parentNode.insertBefore(sb,p9.nextSibling);}sb.dataset.aeMoved=\"1\";}}if(document.readyState!==\"loading\"){move();}else{document.addEventListener(\"DOMContentLoaded\",move);}})();<\/script>\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,700&display=swap');\n\n\/* escape WP wrapper *\/\n.entry-content,.wp-block-post-content,.is-layout-constrained{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}\n.wp-block-post-title{display:none !important;}\n\n:root{\n  --accent-1:#F97316;\n  --accent-2:#F43F5E;\n  --gold:#F9C74F;\n  --green:#10B981;\n  --red:#EF4444;\n  --light-1:#FFF7ED;\n  --light-2:#FFFBF5;\n  --white:#FFFFFF;\n  --text:#0F172A;\n  --muted:#475569;\n  --subtle:#64748B;\n  --border:#E2E8F0;\n  --dark-1:#1B0F02;\n  --dark-2:#2D1A06;\n  --r-10:10px; --r-16:16px; --r-22:22px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06);\n  --sh-lg:0 12px 40px rgba(0,0,0,.12);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:'Plus Jakarta Sans',system-ui,sans-serif;\n  color:var(--text);\n  background:var(--light-2);\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}\n.serif{font-family:'Fraunces',Georgia,serif;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:1080px;margin:0 auto;padding:0 24px}\na{color:inherit;text-decoration:none}\nbutton{font-family:inherit;cursor:pointer;border:none;background:none}\n\n\/* HEADER (same pattern as cambridge index) *\/\n.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .28s ease,box-shadow .28s ease;border-bottom:1px solid transparent;}\n.header.solid{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(15,23,42,.02);}\n.header-inner{display:flex;align-items:center;gap:28px;height:72px;max-width:1200px;margin:0 auto;padding:0 24px}\n.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}\n.brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:var(--sh-card)}\n.brand-name{font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;transition:color .28s ease}\n.header.solid .brand-name{color:var(--text)}\n.nav{display:flex;align-items:center;gap:4px;margin-left:8px}\n.nav a{position:relative;padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10);transition:color .16s ease,background .16s ease;}\n.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}\n.header.solid .nav a{color:var(--muted)}\n.header.solid .nav a:hover{color:var(--text);background:var(--light-1)}\n.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}\n.btn-back{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);transition:background .16s ease}\n.btn-back:hover{background:rgba(255,255,255,.22)}\n.header.solid .btn-back{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.hamburger{display:none;width:40px;height:40px;border-radius:50%;color:#fff;align-items:center;justify-content:center}\n.header.solid .hamburger{color:var(--text)}\n\n\/* HERO *\/\n.hero{\n  position:relative;min-height:380px;padding:120px 0 60px;\n  background:linear-gradient(135deg,#FB923C 0%,#F43F5E 55%,#7C2D12 100%);\n  color:#fff;overflow:hidden;\n}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.10) 0%,transparent 50%);pointer-events:none}\n.hero .wrap{position:relative;z-index:1}\n.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.92;margin-bottom:14px}\n.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:17px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:22px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}\n.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600}\n.meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}\n.cta-row{display:flex;gap:12px;flex-wrap:wrap}\n.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .16s ease}\n.btn-primary:hover{transform:translateY(-2px)}\n.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:15px;border:1px solid rgba(255,255,255,.32);transition:background .16s ease}\n.btn-ghost:hover{background:rgba(255,255,255,.22)}\n\n\/* SCORE BAR *\/\n.score-bar{\n  position:sticky;top:72px;z-index:50;\n  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);\n  border-bottom:1px solid var(--border);\n  padding:14px 0;\n}\n.sb-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.sb-prog{flex:1;min-width:200px}\n.sb-prog-bar{height:8px;background:var(--light-1);border-radius:999px;overflow:hidden}\n.sb-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));border-radius:999px;transition:width .3s ease;width:0}\n.sb-prog-label{font-size:12px;color:var(--muted);margin-top:5px;font-weight:600}\n.sb-score{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--text)}\n.sb-score b{font-size:18px;color:var(--accent-1)}\n.btn-submit{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(249,115,22,.32);transition:transform .15s ease,opacity .15s ease}\n.btn-submit:hover{transform:translateY(-1px)}\n.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}\n.btn-reset{padding:10px 16px;border-radius:999px;background:#fff;color:var(--muted);font-weight:600;font-size:13px;border:1px solid var(--border);transition:background .15s ease}\n.btn-reset:hover{background:var(--light-1);color:var(--text)}\n\n\/* PARTS *\/\n.part-section{padding:48px 0;border-bottom:1px solid var(--border)}\n.part-section:nth-of-type(even){background:#fff}\n.part-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}\n.part-num{\n  flex-shrink:0;width:60px;height:60px;border-radius:18px;\n  background:linear-gradient(135deg,var(--accent-1),var(--accent-2));\n  color:#fff;display:grid;place-items:center;\n  font-family:'Fraunces',serif;font-weight:700;font-size:26px;\n  box-shadow:0 8px 22px rgba(249,115,22,.3);\n}\n.part-head-text h2{font-size:26px;line-height:1.15;margin-bottom:6px}\n.part-head-text .qrange{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-1);background:var(--light-1);padding:4px 10px;border-radius:999px;letter-spacing:.04em;margin-bottom:8px}\n.part-head-text p{color:var(--muted);font-size:15px;line-height:1.55;max-width:740px}\n\n\/* PART 1 &#8212; notice match *\/\n.notices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:20px 0 28px}\n.notice{\n  background:#fff;border:2px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;\n  font-weight:700;letter-spacing:.02em;color:var(--text);min-height:88px;display:grid;place-items:center;\n  font-size:14.5px;line-height:1.35;\n  box-shadow:0 1px 3px rgba(0,0,0,.04);\n}\n.notice-letter{position:absolute;top:6px;left:8px;font-size:11px;font-weight:800;color:var(--accent-1);background:var(--light-1);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;}\n.notice{position:relative}\n\n\/* questions list *\/\n.q-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}\n.q-item{\n  background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;\n  display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease,box-shadow .2s ease;\n}\n.q-item.correct{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}\n.q-item.wrong{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12)}\n.q-num{font-weight:800;color:var(--accent-1);font-size:14px;min-width:30px}\n.q-text{flex:1;font-size:15.5px;line-height:1.55;color:var(--text);display:flex;gap:10px;align-items:flex-start}\n.q-text b.qn{color:var(--accent-1);font-weight:800}\n.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.opt{\n  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;\n  background:#F8FAFF;border:1.5px solid var(--border);font-weight:600;font-size:14px;color:var(--text);\n  cursor:pointer;transition:all .15s ease;user-select:none;\n}\n.opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.opt input{display:none}\n.opt .opt-letter{font-weight:800;color:var(--accent-1);background:#fff;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12.5px;border:1px solid var(--border)}\n.opt.selected{background:linear-gradient(100deg,rgba(249,115,22,.12),rgba(244,63,94,.12));border-color:var(--accent-1)}\n.opt.selected .opt-letter{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.opt.correct-opt{background:rgba(16,185,129,.12) !important;border-color:var(--green) !important}\n.opt.correct-opt .opt-letter{background:var(--green) !important;color:#fff !important;border-color:transparent !important}\n.opt.wrong-opt{background:rgba(239,68,68,.10) !important;border-color:var(--red) !important}\n.opt.wrong-opt .opt-letter{background:var(--red) !important;color:#fff !important;border-color:transparent !important}\n.feedback{font-size:13px;font-weight:600;display:none;padding:8px 12px;border-radius:8px;margin-top:4px}\n.q-item.answered .feedback{display:block}\n.q-item.correct .feedback{background:rgba(16,185,129,.12);color:#065F46}\n.q-item.wrong .feedback{background:rgba(239,68,68,.10);color:#991B1B}\n\n\/* PART 2 \/ cloze with input *\/\n.input-blank{\n  display:inline-block;min-width:90px;border:none;border-bottom:2px dashed var(--accent-1);\n  background:transparent;font-family:inherit;font-size:15.5px;color:var(--text);font-weight:600;\n  padding:2px 6px;margin:0 4px;text-align:center;outline:none;\n}\n.input-blank:focus{border-bottom-style:solid;background:var(--light-1)}\n.input-blank.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.input-blank.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n\n\/* PART 4 &#8212; passage *\/\n.passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;\n  padding:24px 26px;margin:8px 0 20px;\n  font-size:15.5px;line-height:1.7;color:var(--text);\n  box-shadow:var(--sh-card);\n  position:relative;\n}\n.passage h3{font-family:'Fraunces',serif;font-size:22px;text-align:center;margin-bottom:14px;letter-spacing:.02em;color:var(--accent-2)}\n.passage p{margin-bottom:10px}\n\n\/* PART 5 &#8212; cloze passage *\/\n.cloze-passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 26px;\n  font-size:16px;line-height:1.8;color:var(--text);box-shadow:var(--sh-card);margin-bottom:24px;\n}\n.cloze-passage h3{font-family:'Fraunces',serif;font-size:24px;text-align:center;color:var(--accent-2);margin-bottom:14px}\n\n\/* PART 6 &#8212; single word with first letter *\/\n.word-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.first-letter{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n.dashes{color:var(--muted);letter-spacing:6px;font-weight:600}\n\n\/* PART 8 &#8212; form *\/\n.form-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px;max-width:560px}\n.form-card h4{font-family:'Fraunces',serif;font-size:20px;text-align:center;color:var(--accent-2);margin-bottom:6px;border-bottom:2px solid var(--accent-1);padding-bottom:8px;display:inline-block;width:100%}\n.form-row{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}\n.form-row label{flex:0 0 200px;font-weight:600;color:var(--text);font-size:14.5px}\n.form-row .input-blank{flex:1;min-width:200px;text-align:left;font-size:14.5px}\n\n\/* PART 9 &#8212; writing *\/\n.writing-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px}\n.prompt-box{background:var(--light-1);border-left:4px solid var(--accent-1);padding:14px 18px;border-radius:0 12px 12px 0;margin-bottom:18px;font-size:15px;line-height:1.6}\n.prompt-box ul{margin:10px 0 4px 22px}\n.prompt-box li{margin-bottom:4px}\n.writing-area{width:100%;min-height:160px;padding:14px;font-family:inherit;font-size:15px;line-height:1.55;border:2px solid var(--border);border-radius:12px;background:#FAFBFC;color:var(--text);outline:none;resize:vertical;transition:border-color .2s ease}\n.writing-area:focus{border-color:var(--accent-1);background:#fff}\n.wc-counter{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--muted);font-weight:600}\n.wc-counter.ok{color:var(--green)}\n.wc-counter.over{color:var(--red)}\n.sample-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:13.5px;border:none;cursor:pointer}\n.sample-box{display:none;margin-top:14px;padding:14px 18px;background:#FEF3C7;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;font-size:14.5px;line-height:1.6}\n.sample-box.show{display:block}\n.sample-box h5{font-family:'Fraunces',serif;font-size:16px;margin-bottom:8px;color:#92400E}\n\n\/* RESULTS BANNER *\/\n.results-banner{\n  display:none;margin:32px auto;padding:30px;border-radius:22px;\n  background:linear-gradient(135deg,#FB923C,#F43F5E);color:#fff;text-align:center;max-width:720px;\n  box-shadow:0 16px 50px rgba(249,115,22,.3);\n}\n.results-banner.show{display:block}\n.results-banner h3{font-size:30px;font-family:'Fraunces',serif;margin-bottom:10px}\n.results-banner .score-big{font-size:64px;font-weight:800;line-height:1;margin:14px 0;font-family:'Fraunces',serif}\n.results-banner p{opacity:.95;font-size:15px}\n\n\/* FOOTER *\/\n.footer{background:var(--dark-1);color:#9CA3AF;padding:36px 0;text-align:center;font-size:13.5px}\n.footer a{color:var(--gold);font-weight:600}\n\n\/* MOBILE *\/\n@media (max-width:820px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .hero{padding:110px 0 50px}\n  .part-head{flex-direction:column;gap:12px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .notices-grid{grid-template-columns:repeat(2,1fr)}\n  .form-row label{flex:1 1 100%}\n  .form-row .input-blank{width:100%}\n  .sb-inner{gap:10px}\n  .sb-prog{order:3;flex:1 1 100%}\n}\n\n\/* mobile drawer *\/\n.drawer{position:fixed;inset:0;background:rgba(15,23,42,.65);z-index:200;display:none;align-items:flex-start;justify-content:flex-end}\n.drawer.open{display:flex}\n.drawer-panel{width:280px;background:#fff;height:100%;padding:24px;display:flex;flex-direction:column;gap:8px}\n.drawer-panel a{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text)}\n.drawer-panel a:hover{background:var(--light-1)}\n.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}\n<\/style>\n\n<!-- HEADER -->\n<header class=\"header\" id=\"hdr\">\n  <div class=\"header-inner\">\n    <a href=\"https:\/\/allenglish4u.com\" class=\"brand\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/04\/Transparent-background-MacBook-Pro-cua-Hang.png\" alt=\"AE4U\">\n      <span class=\"brand-name\">All English 4U<\/span>\n    <\/a>\n    <nav class=\"nav\">\n      <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"active\">Cambridge<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n      <\/nav>\n    <div class=\"header-right\">\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-back\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M19 12H5M11 18l-6-6 6-6\"\/><\/svg>\n        Back\n      <\/a>\n      <button class=\"hamburger\" id=\"hamb\" aria-label=\"Menu\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"drawer-panel\">\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Close\">\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">Cambridge<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n    <\/div>\n<\/div>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; Key (KET)<\/span>\n    <h1 class=\"serif\">KET 2 &#8212; Test 3<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn from instant feedback.<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>1 hour 10 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>9 Parts<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>55 auto-graded<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>+ Writing prompt<\/span>\n    <\/div>\n    <div class=\"cta-row\">\n      <a href=\"#part1\" class=\"btn-primary\">\n        Start Test\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\n      <\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-ghost\">All Cambridge Tests<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SCORE BAR -->\n<div class=\"score-bar\" id=\"scoreBar\">\n  <div class=\"wrap sb-inner\">\n    <div class=\"sb-score\">Score <b><span id=\"scoreNow\">0<\/span>\/55<\/b><\/div>\n    <div class=\"sb-prog\">\n      <div class=\"sb-prog-bar\"><div class=\"sb-prog-fill\" id=\"progFill\"><\/div><\/div>\n      <div class=\"sb-prog-label\"><span id=\"answeredCount\">0<\/span> of 55 answered<\/div>\n    <\/div>\n    <button class=\"btn-submit\" id=\"submitBtn\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n      Submit &amp; Grade\n    <\/button>\n    <button class=\"btn-reset\" id=\"resetBtn\">Reset<\/button>\n  <\/div>\n<\/div>\n\n<!-- ============== PART 1 ============== -->\n<section class=\"part-section\" id=\"part1\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">1<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 1&#8211;5<\/span>\n        <h2 class=\"serif\">Match the notice<\/h2>\n        <p>Which notice (A&#8211;H) says this (1&#8211;5)? For questions 1&#8211;5, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> Don&#8217;t bring your dog in here. &#8594; <b>F<\/b>\n    <\/div>\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span>KEEP IN<br>FRIDGE<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>Door locked<br>at midnight &#8211;<br>ask for key<br>before going out.<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span>SOUP AND<br>HOT PIES ONLY<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span>TICKETS FOR<br>OASIS CONCERT<br>ON SALE HERE<br>from 8 p.m.<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">E<\/span>ALL THIS WEEK<br>BUY 5<br>GET 1 FREE<\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">F<\/span>NO ANIMALS IN<br>RESTAURANT<br><i style=\"font-size:11px;color:var(--muted)\">(example)<\/i><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span>ALL<br>TICKETS<br>SOLD<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span>USE BY<br>19 JULY<\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part1List\">\n      <!-- Q1-5 -->\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 2 ============== -->\n<section class=\"part-section\" id=\"part2\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">2<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 6&#8211;10<\/span>\n        <h2 class=\"serif\">Lisa and her friend Jane<\/h2>\n        <p>Read the sentences (6&#8211;10) about Lisa and her friend, Jane. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> Lisa <u>called<\/u> her friend Jane on the phone. <b>(Answer: C)<\/b>\n    <\/div>\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3a ============== -->\n<section class=\"part-section\" id=\"part3a\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 11&#8211;15<\/span>\n        <h2 class=\"serif\">Complete the conversations<\/h2>\n        <p>Complete the five conversations. Choose the correct answer (A, B or C).<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> What&#8217;s the time? &#8212; <b>B<\/b> Half past eight.\n    <\/div>\n    <div class=\"q-list\" id=\"part3aList\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3b ============== -->\n<section class=\"part-section\" id=\"part3b\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 16&#8211;20<\/span>\n        <h2 class=\"serif\">Tourist at the bookshop<\/h2>\n        <p>Complete the conversation. What does the tourist say to the shop assistant? For each blank, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;margin-bottom:18px;font-size:14.5px;line-height:1.7\">\n      <p><b>Assistant:<\/b> Good morning. Can I help you?<\/p>\n      <p><b>Tourist:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: D)<\/span><\/p>\n      <p><b>Assistant:<\/b> For children or adults?<\/p>\n      <p><b>Tourist:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Assistant:<\/b> A lot of tourists buy this one.<\/p>\n      <p><b>Tourist:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Assistant:<\/b> What about this one with fewer pages?<\/p>\n      <p><b>Tourist:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Assistant:<\/b> The hardback is &#163;8, and the paperback &#163;3.50.<\/p>\n      <p><b>Tourist:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Assistant:<\/b> Fine. Shall I put it in a bag for you?<\/p>\n      <p><b>Tourist:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Assistant:<\/b> Here you are. Thank you.<\/p>\n      <p><b>Tourist:<\/b> Thanks. Goodbye.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;font-size:14px;line-height:1.85\">\n      <b style=\"color:var(--accent-1);display:block;margin-bottom:6px\">Choices:<\/b>\n      <div><b>A<\/b> I&#8217;ll take the cheaper one.<\/div>\n      <div><b>B<\/b> Oh, it&#8217;s for me. I want a guide book.<\/div>\n      <div><b>C<\/b> I haven&#8217;t got any children.<\/div>\n      <div style=\"opacity:.5\"><b>D<\/b> Yes, please. I&#8217;d like a book about London. <i>(example)<\/i><\/div>\n      <div><b>E<\/b> No, thank you. I want to use it now.<\/div>\n      <div><b>F<\/b> That&#8217;s very heavy. Have you got a smaller one?<\/div>\n      <div><b>G<\/b> Is it a good book?<\/div>\n      <div><b>H<\/b> That looks better. How much is it?<\/div>\n    <\/div>\n\n    <div id=\"part3bFeedback\" style=\"margin-top:14px\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 4 ============== -->\n<section class=\"part-section\" id=\"part4\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">4<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 21&#8211;27<\/span>\n        <h2 class=\"serif\">Reading: Rebecca Stevens<\/h2>\n        <p>Read the article about a young woman, then answer the questions. For each question, choose the correct option <b>A<\/b>, <b>B<\/b> or <b>C<\/b>.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>REBECCA STEVENS<\/h3>\n      <p>Rebecca Stevens was the first woman to climb Mount Everest. Before she went up the highest mountain in the world, she was a journalist and lived in a small flat in south London.<\/p>\n      <p>In 1993, Rebecca left her job and her family and travelled to Asia with some other climbers. She found that life on Everest is hard. &#8216;You must carry everything on your back,&#8217; she explained, &#8216;so you can only take things that you will need. You can&#8217;t wash on the mountain, and in the end I didn&#8217;t even take a toothbrush. I am usually a clean person but there is no water, only snow. Water is very heavy so you only take enough to drink!&#8217;<\/p>\n      <p>When Rebecca reached the top of Mount Everest on May 17 1993, it was the best moment of her life. Suddenly she became famous.<\/p>\n      <p>Now she has written a book about the trip and people often ask her to talk about it. She has a new job too, on a science programme on television.<\/p>\n      <p>Rebecca is well known today and she has more money, but she still lives in the little flat in south London among her pictures and books about mountains!<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 18px;margin-bottom:18px;font-size:14px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> Everest is a &#8594; <b>B (mountain)<\/b>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part4List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 5 ============== -->\n<section class=\"part-section\" id=\"part5\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">5<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 28&#8211;35<\/span>\n        <h2 class=\"serif\">The Ostrich<\/h2>\n        <p>Read the article about the ostrich. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>THE OSTRICH<\/h3>\n      <p>The ostrich is <u><b style=\"color:var(--accent-1)\">the largest<\/b><\/u> bird in the world, and an adult can be more <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> 90 kilos. Most wild ostriches live <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> southern Africa, but there are only a <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> of them left.<\/p>\n      <p>Like all birds, ostriches have wings, <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> they cannot fly. They use <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> wings to help them turn when they are running. Ostriches can run very fast, from 65 to 90 kilometres <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> hour, so it is very difficult <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> other animals to catch them.<\/p>\n      <p>Baby ostriches are the same size as chickens and take about 3 years to become adults. Ostriches <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> plants and can live for many days without water.<\/p>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part5List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 6 ============== -->\n<section class=\"part-section\" id=\"part6\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">6<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 36&#8211;40<\/span>\n        <h2 class=\"serif\">Things in a house &#8212; spell the word<\/h2>\n        <p>Read the descriptions of some things you can find in a house. The first letter is given. Type the word. <b>Example (0):<\/b> You sleep in this at night. &#8594; <b>bed<\/b><\/p>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part6List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 7 ============== -->\n<section class=\"part-section\" id=\"part7\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">7<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 41&#8211;50<\/span>\n        <h2 class=\"serif\">Complete the letters &#8212; cinema invitation<\/h2>\n        <p>Type <b>ONE word<\/b> for each space. (Example: <i>like<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-bottom:18px;font-size:15px;line-height:1.8;font-family:'Courier New',monospace\">\n      <p>Dear Jacqueline,<\/p>\n      <p>Would you (Example: <u>like<\/u>) to come <input class=\"input-blank\" data-q=\"41\" type=\"text\"> the cinema <input class=\"input-blank\" data-q=\"42\" type=\"text\"> me after school today? We can go to see Pocahontas at the ABC cinema. The film starts <input class=\"input-blank\" data-q=\"43\" type=\"text\"> 6 o&#8217;clock. Shall <input class=\"input-blank\" data-q=\"44\" type=\"text\"> meet outside the cinema?<\/p>\n      <p>Love,<\/p>\n      <p><i>Isabella<\/i><\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;font-size:15px;line-height:1.8;font-family:'Courier New',monospace\">\n      <p>Dear Isabella,<\/p>\n      <p>I am very sorry but I can&#8217;t go to the cinema <input class=\"input-blank\" data-q=\"45\" type=\"text\"> evening. My mother has <input class=\"input-blank\" data-q=\"46\" type=\"text\"> work, and I <input class=\"input-blank\" data-q=\"47\" type=\"text\"> going to cook dinner. Why don&#8217;t you <input class=\"input-blank\" data-q=\"48\" type=\"text\"> Karen to go? I hope <input class=\"input-blank\" data-q=\"49\" type=\"text\"> like the film. You can tell me <input class=\"input-blank\" data-q=\"50\" type=\"text\"> it tomorrow.<\/p>\n      <p>Love,<\/p>\n      <p><i>Jacqueline<\/i><\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 8 ============== -->\n<section class=\"part-section\" id=\"part8\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">8<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 51&#8211;55<\/span>\n        <h2 class=\"serif\">Hotel Registration Form<\/h2>\n        <p>Read the letter and the information about Mr Ando, who is staying at a hotel in Leeds. Fill in the Hotel Registration Form.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:18px;font-size:14px;line-height:1.7\">\n        <p style=\"font-weight:700;color:var(--accent-2);margin-bottom:8px\">Grange Hotel, Leeds &#8212; Sunday 14 April<\/p>\n        <p>Dear Joe,<\/p>\n        <p>We like Oxford and I love my job there. We&#8217;re renting a nice house at 23 Mount Road. We arrived in Leeds yesterday and will go back to Oxford tomorrow. I am here for a meeting and my wife, Keiko, has come too. She has a job as a teacher in Oxford. We will return to Japan next year.<\/p>\n        <p style=\"margin-top:8px\">Yours,<br><i>Toshi<\/i><\/p>\n      <\/div>\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:18px;font-size:14px;line-height:1.7;text-align:center\">\n        <p style=\"font-weight:700;color:var(--accent-2);margin-bottom:6px\">OXFORD WORLD COMPUTERS<\/p>\n        <p style=\"font-weight:700;font-size:16px\">Toshi Ando<\/p>\n        <p style=\"font-style:italic;margin-bottom:10px\">Engineer<\/p>\n        <p style=\"text-align:left\">Date and place of birth: <b>12.03.76<\/b><br>Tokyo, Japan<\/p>\n        <p style=\"text-align:left\">Married, no children<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>Grange Hotel &#8212; Hotel Registration Form<\/h4>\n      <div class=\"form-row\"><label>Name:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Toshi Ando<\/span><\/div>\n      <div class=\"form-row\"><label>UK address:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Nationality:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Occupation:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Name of wife\/husband:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Leaving date:<\/label><input class=\"input-blank\" data-q=\"55\" type=\"text\"><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 9 &#8212; WRITING ============== -->\n<section class=\"part-section\" id=\"part9\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">9<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Question 56<\/span>\n        <h2 class=\"serif\">Writing &#8212; party invitation note<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your note, then click <i>Show Sample Answer<\/i> to compare.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>You are going to have a party. Write a note to a friend:<\/b>\n        <ul>\n          <li><b>Ask<\/b> your friend to come.<\/li>\n          <li><b>Say when<\/b> and <b>where<\/b> the party is.<\/li>\n        <\/ul>\n        Write 25&#8211;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your party invitation note here...\"><\/textarea>\n      <div class=\"wc-counter\" id=\"wcCounter\">0 words &#183; target 25&#8211;35<\/div>\n      <button class=\"sample-toggle\" id=\"sampleToggle\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n        Show Sample Answer\n      <\/button>\n      <div class=\"sample-box\" id=\"sampleBox\">\n        <h5>Sample answer (28 words)<\/h5>\n        <p>Hi Sam,<\/p>\n        <p>I&#8217;m having a birthday party at my house on Saturday 20th April at 7 p.m. Please come &#8212; there will be music, food and lots of friends. Hope to see you!<\/p>\n        <p>Anna<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- RESULTS BANNER -->\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your KET 2 Test 3 &#8212; Reading &amp; Writing score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/55<\/div>\n    <p id=\"resultsMsg\">Great effort! Scroll up to review your answers &#8212; correct ones are highlighted in green and wrong ones in red.<\/p>\n    <div style=\"margin-top:18px\"><button class=\"btn-primary\" onclick=\"window.scrollTo({top:0,behavior:'smooth'})\" style=\"background:#fff;color:var(--accent-2)\">Back to top<\/button><\/div>\n  <\/div>\n<\/div>\n\n<!-- FOOTER -->\n<footer class=\"footer\">\n  <div class=\"wrap\">\n    <p>&#169; 2026 All English 4U &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/contact\/\">Contact<\/a><\/p>\n  <\/div>\n<\/footer>\n\n<script>\n(function(){\n\/\/ ===== Header scroll =====\nvar hdr=document.getElementById('hdr');\nvar setSolid=function(){if(window.scrollY>40)hdr.classList.add('solid');else hdr.classList.remove('solid')};\nwindow.addEventListener('scroll',setSolid,{passive:true});setSolid();\n\n\/\/ drawer\nvar hamb=document.getElementById('hamb'),drawer=document.getElementById('drawer'),dClose=document.getElementById('drawerClose');\nif(hamb)hamb.addEventListener('click',function(){drawer.classList.add('open')});\nif(dClose)dClose.addEventListener('click',function(){drawer.classList.remove('open')});\nif(drawer)drawer.addEventListener('click',function(e){if(e.target===drawer)drawer.classList.remove('open')});\n\n\/\/ ===== DATA =====\n\/\/ MCQ questions: each entry = {n, text, opts:[{l,t}], ans}\nvar P1 = [\n  {n:1,text:'These are cheaper if you buy several of them.',opts:'ABCDEFGH',ans:'E'},\n  {n:2,text:\"You can't get many different meals here.\",opts:'ABCDEFGH',ans:'C'},\n  {n:3,text:'Put this in a cold place.',opts:'ABCDEFGH',ans:'A'},\n  {n:4,text:'You are too late to get a seat for this show.',opts:'ABCDEFGH',ans:'G'},\n  {n:5,text:'This place is not open all night.',opts:'ABCDEFGH',ans:'B'},\n];\nvar P2 = [\n  {n:6,text:\"'Let's get a video and _____ it at my house this evening,' she said.\",opts:[['A','look'],['B','watch'],['C','listen']],ans:'B'},\n  {n:7,text:'\\'That\\'s a great _____ !\\' said Jane. \\'I\\'ve got nothing else to do.\\'',opts:[['A','pity'],['B','thing'],['C','idea']],ans:'C'},\n  {n:8,text:'They went to the video shop and _____ a film with their favourite actor in it.',opts:[['A','chose'],['B','decided'],['C','thought']],ans:'A'},\n  {n:9,text:'Then they bought some _____ of cola to drink and a big bag of sweets.',opts:[['A','plates'],['B','cups'],['C','cans']],ans:'C'},\n  {n:10,text:\"They took everything back to Lisa's house and _____ the film together.\",opts:[['A','enjoyed'],['B','laughed'],['C','liked']],ans:'A'},\n];\nvar P3a = [\n  {n:11,text:\"Let's walk to the park.\",opts:[['A','All right.'],['B','I think so.'],['C',\"I'm sorry.\"]],ans:'A'},\n  {n:12,text:'When did you arrive?',opts:[['A','Tomorrow.'],['B','Yesterday.'],['C','For two days.']],ans:'B'},\n  {n:13,text:'Shall I open the window?',opts:[['A','Yes, I shall.'],['B','Yes, you will.'],['C','Yes, please.']],ans:'C'},\n  {n:14,text:'I got a letter from Paul this morning.',opts:[['A',\"I'm afraid not.\"],['B',\"That's nice.\"],['C',\"He's fine.\"]],ans:'B'},\n  {n:15,text:\"How's your sister?\",opts:[['A',\"She's Jane.\"],['B',\"She's at school.\"],['C',\"She's very well.\"]],ans:'C'},\n];\nvar P3bAns = {16:'B',17:'F',18:'H',19:'A',20:'E'};\nvar P4 = [\n  {n:21,text:'Before Rebecca climbed Everest, she worked for',opts:[['A','a bookshop.'],['B','a newspaper.'],['C','a travel agent.']],ans:'B'},\n  {n:22,text:'Rebecca went to Everest',opts:[['A','with her family.'],['B','with a climbing group.'],['C','without anyone.']],ans:'B'},\n  {n:23,text:\"Rebecca didn't take much luggage because she\",opts:[['A',\"didn't have many things.\"],['B','had a bad back.'],['C','had to carry it herself.']],ans:'C'},\n  {n:24,text:\"Rebecca didn't wash on Everest because\",opts:[['A','it was too cold.'],['B','there was not enough water.'],['C','she is a dirty person.']],ans:'B'},\n  {n:25,text:'Rebecca carried water for',opts:[['A','drinking.'],['B','cooking.'],['C','cleaning her teeth.']],ans:'A'},\n  {n:26,text:'Rebecca became famous when she',opts:[['A','got to the highest place in the world.'],['B','wrote a book about her trip.'],['C','was on a television programme.']],ans:'A'},\n  {n:27,text:'After her trip, Rebecca',opts:[['A','earned the same money.'],['B','stayed in the same flat.'],['C','did the same job.']],ans:'B'},\n];\nvar P5 = [\n  {n:28,word:'than',opts:[['A','than'],['B','that'],['C','as']],ans:'A'},\n  {n:29,word:'in',opts:[['A','in'],['B','of'],['C','at']],ans:'A'},\n  {n:30,word:'few',opts:[['A','few'],['B','little'],['C','lot']],ans:'A'},\n  {n:31,word:'but',opts:[['A','or'],['B','and'],['C','but']],ans:'C'},\n  {n:32,word:'their',opts:[['A','them'],['B','their'],['C','its']],ans:'B'},\n  {n:33,word:'an',opts:[['A','between'],['B','an'],['C','one']],ans:'B'},\n  {n:34,word:'for',opts:[['A','for'],['B','to'],['C','by']],ans:'A'},\n  {n:35,word:'eat',opts:[['A','ate'],['B','eats'],['C','eat']],ans:'C'},\n];\nvar P6 = [\n  {n:36,text:'People sit round this to eat their meals.',first:'t',ans:'table'},\n  {n:37,text:'You can keep your clothes in this.',first:'c',ans:'cupboard'},\n  {n:38,text:'You wash yourself with soap and water in this.',first:'s',ans:'shower'},\n  {n:39,text:'You look through this to see outside.',first:'w',ans:'window'},\n  {n:40,text:'People often put books or flowers on this.',first:'s',ans:'shelf'},\n];\n\/\/ Part 7 \\u2014 letter cloze: accepted answers\nvar P7Ans = {\n  41:['to'],\n  42:['with'],\n  43:['at'],\n  44:['we'],\n  45:['this'],\n  46:['to','some'],\n  47:['am',\"'m\",'m'],\n  48:['ask','invite','get'],\n  49:['you'],\n  50:['about'],\n};\n\/\/ Part 8\nvar P8Ans = {\n  51:['23 mount road oxford england','23 mount road oxford uk','23 mount road oxford','23 mount road, oxford','23 mount road, oxford england','23 mount road, oxford uk','23, mount road, oxford'],\n  52:['japanese'],\n  53:['computer engineer','engineer','computer-engineer'],\n  54:['keiko','keiko ando','wife keiko','wife keiko ando','ando','mrs ando','mrs. ando'],\n  55:['monday 15 april','monday 15th april','15 april','15th april','monday 15.4','15.4','15\/4','15\/04','april 15','april 15th','15 4','monday april 15','monday april 15th']\n};\n\n\/\/ ===== Rendering =====\nfunction renderMCQ(listEl, data){\n  data.forEach(function(q){\n    var div=document.createElement('div');\n    div.className='q-item'; div.dataset.qid=q.n;\n    var optsHTML='';\n    if(Array.isArray(q.opts)){\n      q.opts.forEach(function(o){\n        optsHTML += '<label class=\"opt\" data-letter=\"'+o[0]+'\"><input type=\"radio\" name=\"q'+q.n+'\" value=\"'+o[0]+'\"><span class=\"opt-letter\">'+o[0]+'<\/span> '+escapeHtml(o[1])+'<\/label>';\n      });\n    } else {\n      \/\/ string of letters (P1)\n      for(var i=0;i<q.opts.length;i++){\n        var L=q.opts[i];\n        optsHTML += '<label class=\"opt\" data-letter=\"'+L+'\"><input type=\"radio\" name=\"q'+q.n+'\" value=\"'+L+'\"><span class=\"opt-letter\">'+L+'<\/span><\/label>';\n      }\n    }\n    div.innerHTML = '<div class=\"q-text\"><b class=\"qn\">'+q.n+'.<\/b><span>'+escapeHtml(q.text)+'<\/span><\/div>'+\n                    '<div class=\"q-opts\">'+optsHTML+'<\/div>'+\n                    '<div class=\"feedback\"><\/div>';\n    listEl.appendChild(div);\n  });\n}\nfunction escapeHtml(s){return String(s).replace(\/[&<>\"']\/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]})}\n\nrenderMCQ(document.getElementById('part1List'),P1);\nrenderMCQ(document.getElementById('part2List'),P2);\nrenderMCQ(document.getElementById('part3aList'),P3a);\nrenderMCQ(document.getElementById('part4List'),P4);\n\n\/\/ Part 5 \\u2014 render as MCQ list under the passage\nrenderMCQ(document.getElementById('part5List'),P5.map(function(q){return {n:q.n,text:'Question '+q.n+' \\u2014 choose the best word for the gap.',opts:q.opts,ans:q.ans}}));\n\n\/\/ Part 6 \\u2014 first-letter + dashes + input\n(function(){\n  var list=document.getElementById('part6List');\n  P6.forEach(function(q){\n    var dashCount = q.ans.length - 1;\n    var dashes = new Array(dashCount).fill('_').join(' ');\n    var div=document.createElement('div'); div.className='q-item'; div.dataset.qid=q.n;\n    div.innerHTML='<div class=\"q-text\"><b class=\"qn\">'+q.n+'.<\/b><span>'+escapeHtml(q.text)+'<\/span><\/div>'+\n                  '<div class=\"word-row\"><span class=\"first-letter\">'+q.first+'<\/span><input type=\"text\" class=\"input-blank\" data-q=\"'+q.n+'\" placeholder=\"'+dashes+'\" style=\"min-width:200px\"><\/div>'+\n                  '<div class=\"feedback\"><\/div>';\n    list.appendChild(div);\n  });\n})();\n\n\/\/ ===== Wire option clicks =====\ndocument.querySelectorAll('.opt').forEach(function(opt){\n  opt.addEventListener('click',function(e){\n    e.preventDefault();\n    var input=opt.querySelector('input');\n    var group=opt.parentElement;\n    group.querySelectorAll('.opt').forEach(function(o){o.classList.remove('selected')});\n    opt.classList.add('selected');\n    input.checked=true;\n    updateProgress();\n  });\n});\n\n\/\/ inputs\ndocument.querySelectorAll('.input-blank,.q-select').forEach(function(el){\n  el.addEventListener('input',updateProgress);\n  el.addEventListener('change',updateProgress);\n});\n\n\/\/ ===== Submit & Grade =====\nfunction getMcqAns(qid){\n  var sel=document.querySelector('input[name=\"q'+qid+'\"]:checked');\n  return sel?sel.value:null;\n}\nfunction getInputAns(qid){\n  var el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]');\n  return el?el.value.trim().toLowerCase():'';\n}\nfunction getSelectAns(qid){\n  var el=document.querySelector('.q-select[data-qid=\"'+qid+'\"]');\n  return el?el.value:'';\n}\nfunction totalQs(){return 55}\n\nfunction answeredCount(){\n  var n=0;\n  \/\/ MCQ: P1(1-5) P2(6-10) P3a(11-15) P4(21-27) P5(28-35)\n  [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35].forEach(function(q){if(getMcqAns(q))n++});\n  [16,17,18,19,20].forEach(function(q){if(getSelectAns(q))n++});\n  \/\/ inputs\n  for(var i=36;i<=55;i++){if(getInputAns(i))n++}\n  return n;\n}\nfunction updateProgress(){\n  var a=answeredCount(), total=totalQs();\n  document.getElementById('answeredCount').textContent=a;\n  document.getElementById('progFill').style.width=(a\/total*100)+'%';\n}\n\ndocument.getElementById('submitBtn').addEventListener('click',function(){\n  var score=0;\n  \/\/ MCQ parts\n  var mcqParts=[P1,P2,P3a,P4,P5];\n  mcqParts.forEach(function(part){\n    part.forEach(function(q){\n      var v=getMcqAns(q.n), item=document.querySelector('.q-item[data-qid=\"'+q.n+'\"]');\n      if(!item)return;\n      item.classList.add('answered');\n      \/\/ mark correct\/incorrect opts\n      item.querySelectorAll('.opt').forEach(function(o){\n        var L=o.dataset.letter;\n        if(L===q.ans){o.classList.add('correct-opt')}\n        if(v===L)if(L!==q.ans){o.classList.add('wrong-opt')}\n      });\n      var fb=item.querySelector('.feedback');\n      if(v===q.ans){score++; item.classList.add('correct'); fb.textContent='\\u2714 Correct \\u2014 '+q.ans}\n      else{item.classList.add('wrong'); fb.textContent='\\u2718 Wrong \\u2014 correct answer: '+q.ans + (v?(' (you chose '+v+')'):' (no answer)')}\n    });\n  });\n  \/\/ Part 3b selects\n  var p3bFb=document.getElementById('part3bFeedback');\n  p3bFb.innerHTML='';\n  Object.keys(P3bAns).forEach(function(qid){\n    var v=getSelectAns(qid), correct=P3bAns[qid];\n    var el=document.querySelector('.q-select[data-qid=\"'+qid+'\"]');\n    if(el){el.style.borderColor=(v===correct?'#10B981':'#EF4444'); el.style.borderWidth='2px'; el.style.borderStyle='solid'}\n    var note=document.createElement('div');\n    note.style.cssText='padding:8px 12px;border-radius:8px;margin-top:6px;font-size:13.5px;font-weight:600;'+(v===correct?'background:rgba(16,185,129,.12);color:#065F46':'background:rgba(239,68,68,.10);color:#991B1B');\n    note.innerHTML='<b>Q'+qid+'<\/b>: '+(v===correct?'\\u2714 Correct ('+correct+')':'\\u2718 Wrong \\u2014 correct: '+correct+(v?', you chose '+v:', no answer'));\n    p3bFb.appendChild(note);\n    if(v===correct)score++;\n  });\n  \/\/ Part 6\n  P6.forEach(function(q){\n    var v=getInputAns(q.n), el=document.querySelector('.input-blank[data-q=\"'+q.n+'\"]'), item=document.querySelector('.q-item[data-qid=\"'+q.n+'\"]');\n    if(!el||!item)return;\n    item.classList.add('answered');\n    var ok=(v===q.ans.toLowerCase());\n    if(ok){score++; el.classList.add('correct'); item.classList.add('correct'); item.querySelector('.feedback').textContent='\\u2714 Correct'}\n    else{el.classList.add('wrong'); item.classList.add('wrong'); item.querySelector('.feedback').textContent='\\u2718 Wrong \\u2014 correct: '+q.ans}\n  });\n  \/\/ Part 7\n  Object.keys(P7Ans).forEach(function(qid){\n    var v=getInputAns(qid), el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]'), accepted=P7Ans[qid];\n    if(!el)return;\n    var ok=accepted.indexOf(v)>=0;\n    if(ok){score++; el.classList.add('correct')} else {el.classList.add('wrong'); el.title='Correct: '+accepted.join(' \/ ')}\n  });\n  \/\/ Part 8\n  Object.keys(P8Ans).forEach(function(qid){\n    var v=getInputAns(qid), el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]'), accepted=P8Ans[qid];\n    if(!el)return;\n    var ok=accepted.indexOf(v)>=0;\n    if(ok){score++; el.classList.add('correct')} else {el.classList.add('wrong'); el.title='Correct: '+accepted.join(' \/ ')}\n  });\n\n  document.getElementById('scoreNow').textContent=score;\n  document.getElementById('finalScore').textContent=score;\n  var pct=Math.round(score\/55*100);\n  var msg='';\n  if(pct>=85) msg='\\u{1F3C6} Excellent! You are well prepared for the real KET exam.';\n  else if(pct>=70) msg='\\u{1F44D} Good job! A few more tests and you will be ready.';\n  else if(pct>=50) msg='\\u{1F4DA} Keep practising \\u2014 review the wrong answers above.';\n  else msg='\\u{1F4AA} Start with the basics. Reread the passages and try again.';\n  document.getElementById('resultsMsg').textContent=msg;\n  document.getElementById('resultsBanner').classList.add('show');\n  setTimeout(function(){document.getElementById('resultsBanner').scrollIntoView({behavior:'smooth',block:'center'})},120);\n});\n\ndocument.getElementById('resetBtn').addEventListener('click',function(){\n  if(!confirm('Reset all answers?'))return;\n  location.reload();\n});\n\n\/\/ Writing word counter\nvar ta=document.getElementById('writingArea'),wc=document.getElementById('wcCounter');\nta.addEventListener('input',function(){\n  var w=ta.value.trim().split(\/\\s+\/).filter(Boolean).length;\n  wc.textContent=w+' words \\u00B7 target 25\\u201335';\n  wc.classList.remove('ok','over');\n  if(w>=25)if(w<=35)wc.classList.add('ok');\n  else if(w>35)wc.classList.add('over');\n});\ndocument.getElementById('sampleToggle').addEventListener('click',function(){\n  document.getElementById('sampleBox').classList.toggle('show');\n});\n\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>All English 4U Grammar IELTS TOEFL Cambridge CELPIP Dictation Back Grammar IELTS TOEFL Cambridge CELPIP Dictation Cambridge English &#183; Key (KET) KET 2 &#8212; Test 3Reading &amp; Writing Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-1200","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=1200"}],"version-history":[{"count":9,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1200\/revisions"}],"predecessor-version":[{"id":5967,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1200\/revisions\/5967"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}