{"id":1191,"date":"2026-06-02T17:02:35","date_gmt":"2026-06-02T17:02:35","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-2-test-2-rw\/"},"modified":"2026-07-05T02:44:40","modified_gmt":"2026-07-05T02:44:40","slug":"cambridge-ket-2-test-2-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-2-test-2-rw\/","title":{"rendered":"KET 2 \u2014 Test 2 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\":\"D\",\"2\":\"A\",\"3\":\"C\",\"4\":\"B\",\"5\":\"E\",\"6\":\"C\",\"7\":\"B\",\"8\":\"C\",\"9\":\"B\",\"10\":\"A\",\"11\":\"C\",\"12\":\"B\",\"13\":\"A\",\"14\":\"B\",\"15\":\"C\",\"16\":\"C\",\"17\":\"E\",\"18\":\"G\",\"19\":\"B\",\"20\":\"A\",\"21\":\"C\",\"22\":\"B\",\"23\":\"C\",\"24\":\"A\",\"25\":\"B\",\"26\":\"C\",\"27\":\"A\",\"28\":\"C\",\"29\":\"A\",\"30\":\"A\",\"31\":\"B\",\"32\":\"B\",\"33\":\"B\",\"34\":\"A\",\"35\":\"A\",\"36\":\"book\",\"37\":\"reception\",\"38\":\"tent\",\"39\":\"double\",\"40\":\"beach\",\"41\":\"last\",\"42\":\"on\",\"43\":\"a\",\"44\":\"is\",\"45\":\"have\",\"46\":\"am\",\"47\":\"you\",\"48\":\"to\",\"49\":\"will\",\"50\":\"opens\",\"51\":\"australian\",\"52\":\"teacher\",\"53\":\"portuguese\",\"54\":\"tuesday\",\"55\":\"2.30 p.m.\"};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 2<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> We are only open in the morning. &#8594; <b>G<\/b>\n    <\/div>\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span>SWIMMING POOL<br>ADULTS ONLY 6&#8211;8 p.m.<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>TELEPHONE<br>for customers&#8217; use only<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span>DANGER!<br>No Traffic Lights Ahead<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span>PARKING FOR<br>POLICE CARS ONLY<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">E<\/span>LEEDS CASTLE<br>FREE ADMISSION<br>FOR CHILDREN<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span>Film matinee 2 p.m.<br>&#163;3.00<\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">G<\/span>Bookshop<br>Closed afternoons<br><i style=\"font-size:11px;color:var(--muted)\">(example)<\/i><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span>TELEPHONES ON<br>SECOND FLOOR<\/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\">A new swimming pool<\/h2>\n        <p>Read the sentences (6&#8211;10) about a swimming pool. 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> A new swimming pool has just <u>opened<\/u> in the town centre. <b>(Answer: A)<\/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> Where do you come from? &#8212; <b>A<\/b> New York.\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\">Sarah &amp; David at the cinema<\/h2>\n        <p>Complete the conversation between two friends. What does David say to Sarah? 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>Sarah:<\/b> Hello, David. How are you?<\/p>\n      <p><b>David:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: D)<\/span><\/p>\n      <p><b>Sarah:<\/b> I&#8217;m tired. I went to see a late film last night.<\/p>\n      <p><b>David:<\/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>Sarah:<\/b> That one with Brad Pitt, the American actor.<\/p>\n      <p><b>David:<\/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>Sarah:<\/b> I think so. You liked his last film, didn&#8217;t you?<\/p>\n      <p><b>David:<\/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>Sarah:<\/b> The new one in the city centre.<\/p>\n      <p><b>David:<\/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>Sarah:<\/b> Yes, &#163;6, but it&#8217;s much better than the old one.<\/p>\n      <p><b>David:<\/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>Sarah:<\/b> Well, I hope you like it.<\/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> Perhaps I&#8217;ll go next weekend.<\/div>\n      <div><b>B<\/b> Are the tickets expensive there?<\/div>\n      <div><b>C<\/b> Oh, what did you see?<\/div>\n      <div style=\"opacity:.5\"><b>D<\/b> Fine thanks, and you? <i>(example)<\/i><\/div>\n      <div><b>E<\/b> Do you think I&#8217;d like it?<\/div>\n      <div><b>F<\/b> Is the city centre far?<\/div>\n      <div><b>G<\/b> Yes, it was really good. Which cinema did you go to?<\/div>\n      <div><b>H<\/b> You should go to bed early.<\/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: Esther&#8217;s Story<\/h2>\n        <p>Read the article about Esther, 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>ESTHER&#8217;S STORY<\/h3>\n      <p>When Esther left school at the age of sixteen, her aunt Flory gave her &#163;500 for her birthday. Most of Esther&#8217;s friends decided to go to college, but Esther used her aunt&#8217;s money to start her own business. She bought fruit, sugar and some glass jars and began making her own jam. She sold the jam for &#163;1 a jar to her friends and she soon doubled her aunt&#8217;s &#163;500.<\/p>\n      <p>At first, her parents didn&#8217;t want Esther to spend her time making jam and they thought that she should study instead. They hoped that one day she would be a teacher or a doctor. But Esther didn&#8217;t listen to them. She kept on making jam. After a few months, she started selling it to the local market. Then she started making orange juice. She sold this to a school where one of her friends worked.<\/p>\n      <p>After two years, her business was very large and her parents were very pleased with her. She made all kinds of food which she sold to shops and supermarkets. She was so busy that she had to get some people to work for her.<\/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> How old was Esther when she left school? &#8594; <b>C (16)<\/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\">A History of Air Travel<\/h2>\n        <p>Read the article about air travel. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>A HISTORY OF AIR TRAVEL<\/h3>\n      <p>In 1783, two French brothers built <u><b style=\"color:var(--accent-1)\">the<\/b><\/u> first balloon to take people into the air. One hundred and twenty years later, in 1903, the Wright brothers built the first plane with an engine and <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> in it. This was <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> the United States. Then, in 1918, the US Post Office began the first airmail service.<\/p>\n      <p>Aeroplanes changed a <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> in the next thirty years. Then, in the 1950s, aeroplanes became much <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> because they had jet engines.<\/p>\n      <p>In 1976, Concorde was built in the UK and France. It is the fastest passenger plane in the world and <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> 2500 kilometres an hour, so the journey <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> London to New York is only four hours.<\/p>\n      <p>Today, millions of people travel <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> aeroplane, and it is difficult to think of a world without <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span>.<\/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\">Holiday words &#8212; spell the word<\/h2>\n        <p>Read the descriptions. The first letter is given. Type the word. <b>Example (0):<\/b> You may need this to leave the country. &#8594; <b>passport<\/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; a lost bag<\/h2>\n        <p>Type <b>ONE word<\/b> for each space. (Example: <i>my<\/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 Sir,<\/p>\n      <p>I lost (Example: <u>my<\/u>) bag on a train <input class=\"input-blank\" data-q=\"41\" type=\"text\"> week. I was on the 8.30 a.m. train to Cambridge <input class=\"input-blank\" data-q=\"42\" type=\"text\"> 10th May. It is <input class=\"input-blank\" data-q=\"43\" type=\"text\"> large blue bag and my name <input class=\"input-blank\" data-q=\"44\" type=\"text\"> written on the outside. <input class=\"input-blank\" data-q=\"45\" type=\"text\"> you found this bag?<\/p>\n      <p>Yours faithfully,<\/p>\n      <p><i>Mary Johnson<\/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 Ms Johnson,<\/p>\n      <p>I <input class=\"input-blank\" data-q=\"46\" type=\"text\"> pleased to tell <input class=\"input-blank\" data-q=\"47\" type=\"text\"> that we have your bag here. If you come <input class=\"input-blank\" data-q=\"48\" type=\"text\"> this office, <input class=\"input-blank\" data-q=\"49\" type=\"text\"> give it to you. The office <input class=\"input-blank\" data-q=\"50\" type=\"text\"> at 9 a.m. and closes at 6.30 p.m. every day.<\/p>\n      <p>Yours sincerely,<\/p>\n      <p><i>J Wilson<\/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\">Course Booking Form<\/h2>\n        <p>Read the information about language courses and the e-mail message. Fill in the information on the Course Booking 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;text-align:center\">Language Courses<\/p>\n        <p>French: <b>Monday evening<\/b><\/p>\n        <p>German: <b>Thursday evening<\/b><\/p>\n        <p>Portuguese: <b>Tuesday afternoon<\/b><\/p>\n        <p>Spanish: <b>Wednesday evening<\/b><\/p>\n        <p style=\"margin-top:8px\">Afternoon Classes: <b>2.30&#8211;4.30 p.m.<\/b><\/p>\n        <p>Evening Classes: <b>6.30&#8211;8.30 p.m.<\/b><\/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\">\n        <p style=\"font-weight:700;color:var(--accent-2);margin-bottom:8px\">To: International Language School<\/p>\n        <p>I come from Australia and I teach French to businessmen. I want to start learning Portuguese because next year I am going to work in Brazil. I am free after 1 p.m. on Tuesdays and Thursdays. Can I book a place on one of your courses?<\/p>\n        <p style=\"margin-top:8px\"><i>Cheryl Harvey<\/i><\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>International Language School &#8212; Course Booking Form<\/h4>\n      <div class=\"form-row\"><label>Full name:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Cheryl Harvey<\/span><\/div>\n      <div class=\"form-row\"><label>Nationality:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Occupation:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Name of course:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Day:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Starting time:<\/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; postcard to your friend<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your postcard, 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>Read this postcard from your friend, Alex:<\/b>\n        <div style=\"background:#fff;border:1px dashed var(--accent-1);border-radius:10px;padding:12px 14px;margin:10px 0;font-style:italic;color:var(--text)\">\n          &#8220;I am going to visit your country next month. Can I see you? Please tell me about the weather there. What clothes should I bring?<br>&#8212; Alex&#8221;\n        <\/div>\n        Write a postcard to Alex. Answer Alex&#8217;s questions:\n        <ul>\n          <li><b>whether<\/b> you can see Alex,<\/li>\n          <li><b>comment<\/b> about the weather,<\/li>\n          <li><b>suggestion<\/b> for clothes to bring.<\/li>\n        <\/ul>\n        Write 25&#8211;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your postcard to Alex 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 (30 words)<\/h5>\n        <p>Hi Alex,<\/p>\n        <p>Great news! Yes, of course you can see me. It is very warm here in summer, so please bring light clothes &#8212; T-shirts, shorts and a swimsuit. See you soon!<\/p>\n        <p>Take care, Sam<\/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 2 &#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:'Not all drivers can stop here.',opts:'ABCDEFGH',ans:'D'},\n  {n:2,text:'Children cannot come here in the evening.',opts:'ABCDEFGH',ans:'A'},\n  {n:3,text:'Drivers must be careful.',opts:'ABCDEFGH',ans:'C'},\n  {n:4,text:'Not everyone can make a call from here.',opts:'ABCDEFGH',ans:'B'},\n  {n:5,text:'Only adults have to pay here.',opts:'ABCDEFGH',ans:'E'},\n];\nvar P2 = [\n  {n:6,text:'Everyone must _____ a shower before they go in the water.',opts:[['A','do'],['B','make'],['C','take']],ans:'C'},\n  {n:7,text:'There are special changing rooms for _____ with young children.',opts:[['A','brothers'],['B','parents'],['C','cousins']],ans:'B'},\n  {n:8,text:'Please _____ to take a towel with you to the pool.',opts:[['A','know'],['B','understand'],['C','remember']],ans:'C'},\n  {n:9,text:'If you are _____ , you can get a drink in the snack bar upstairs.',opts:[['A','dirty'],['B','thirsty'],['C','wet']],ans:'B'},\n  {n:10,text:'In the afternoons, there are swimming classes for children of all _____ .',opts:[['A','ages'],['B','lessons'],['C','pupils']],ans:'A'},\n];\nvar P3a = [\n  {n:11,text:\"John's going to London.\",opts:[['A','Often?'],['B','Yesterday?'],['C','By train?']],ans:'C'},\n  {n:12,text:'When do you study?',opts:[['A','At school.'],['B','In the evenings.'],['C','In the library.']],ans:'B'},\n  {n:13,text:'Do you like my new shoes?',opts:[['A','Where did you buy them?'],['B','How long are they?'],['C','Would you like them?']],ans:'A'},\n  {n:14,text:'Be careful.',opts:[['A','Thank you.'],['B','I will.'],['C','What a pity!']],ans:'B'},\n  {n:15,text:'I hate basketball.',opts:[['A','You are, too.'],['B','It can, too.'],['C','I do, too.']],ans:'C'},\n];\nvar P3bAns = {16:'C',17:'E',18:'G',19:'B',20:'A'};\nvar P4 = [\n  {n:21,text:'Why did Aunt Flory give Esther some money?',opts:[['A','Esther asked for it.'],['B',\"Esther's friends needed it.\"],['C','It was a present.']],ans:'C'},\n  {n:22,text:'After she left school, Esther',opts:[['A','went to college.'],['B','started her own business.'],['C','worked for her aunt.']],ans:'B'},\n  {n:23,text:'Why did Esther make jam?',opts:[['A','She liked to eat it.'],['B','She had a lot of fruit.'],['C','She wanted to make money.']],ans:'C'},\n  {n:24,text:'When Esther left school, her parents wanted her to',opts:[['A','go to college.'],['B','be a businesswoman.'],['C','work in a market.']],ans:'A'},\n  {n:25,text:'Esther sold orange juice to',opts:[['A','the local market.'],['B','a school.'],['C','her friends.']],ans:'B'},\n  {n:26,text:\"Esther's parents were happy because Esther\",opts:[['A','cooked for them.'],['B','was busy.'],['C','had a good business.']],ans:'C'},\n  {n:27,text:'After two years, Esther',opts:[['A','paid people to help her.'],['B','worked in a supermarket.'],['C','opened a shop.']],ans:'A'},\n];\nvar P5 = [\n  {n:28,word:'flew',opts:[['A','by'],['B','with'],['C','flew']],ans:'C'},\n  {n:29,word:'in',opts:[['A','in'],['B','at'],['C','of']],ans:'A'},\n  {n:30,word:'lot',opts:[['A','lot'],['B','much'],['C','many']],ans:'A'},\n  {n:31,word:'faster',opts:[['A','fast'],['B','faster'],['C','fastest']],ans:'B'},\n  {n:32,word:'flies',opts:[['A','between'],['B','flies'],['C','flies at']],ans:'B'},\n  {n:33,word:'from',opts:[['A','with'],['B','from'],['C','by']],ans:'B'},\n  {n:34,word:'by',opts:[['A','by'],['B','on'],['C','with']],ans:'A'},\n  {n:35,word:'them',opts:[['A','them'],['B','their'],['C','they']],ans:'A'},\n];\nvar P6 = [\n  {n:36,text:'If you want a room in a hotel, you can phone and do this first.',first:'b',ans:'book'},\n  {n:37,text:'When you arrive at a hotel or a campsite, you go here first.',first:'r',ans:'reception'},\n  {n:38,text:'You sleep inside this on a campsite.',first:'t',ans:'tent'},\n  {n:39,text:'This kind of hotel room is for two people.',first:'d',ans:'double'},\n  {n:40,text:'You go here to enjoy the sun and swim in the sea.',first:'b',ans:'beach'},\n];\n\/\/ Part 7 \\u2014 letter cloze: accepted answers\nvar P7Ans = {\n  41:['last','this'],\n  42:['on'],\n  43:['a'],\n  44:['is','was'],\n  45:['have'],\n  46:['am',\"'m\",'m','am pleased'],\n  47:['you'],\n  48:['to'],\n  49:['will','can','shall',\"'ll\",'ll'],\n  50:['opens','open'],\n};\n\/\/ Part 8\nvar P8Ans = {\n  51:['australian'],\n  52:['teacher','french teacher','teacher of french'],\n  53:['portuguese'],\n  54:['tuesday','tuesdays','tues','tues.'],\n  55:['2.30 p.m.','2.30pm','2.30 pm','2:30 p.m.','2:30pm','2:30 pm','14.30','14:30','2.30','2:30']\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 2Reading &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-1191","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1191","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=1191"}],"version-history":[{"count":9,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1191\/revisions"}],"predecessor-version":[{"id":5964,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1191\/revisions\/5964"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=1191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}