{"id":5419,"date":"2026-06-30T01:56:25","date_gmt":"2026-06-30T01:56:25","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-extra-test-1-rw\/"},"modified":"2026-07-05T02:43:12","modified_gmt":"2026-07-05T02:43:12","slug":"cambridge-ket-extra-test-1-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-extra-test-1-rw\/","title":{"rendered":"KET Extra \u2014 Test 1 Reading &#038; Writing"},"content":{"rendered":"\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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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\/* SHOW ANSWER PER-Q BUTTONS *\/\n.show-ans-btn{\n  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:12px;\n  border:1px solid rgba(249,115,22,.30);cursor:pointer;transition:all .15s ease;\n  font-family:inherit;align-self:flex-start;margin-top:4px;letter-spacing:.02em;\n}\n.show-ans-btn:hover{background:rgba(249,115,22,.18);border-color:var(--accent-1)}\n.show-ans-btn[disabled]{opacity:.45;cursor:not-allowed}\n.show-ans-btn .emoji{width:14px;height:14px}\n.show-ans-btn-inline{\n  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:11.5px;\n  border:1px solid rgba(249,115,22,.28);cursor:pointer;font-family:inherit;\n  margin-left:4px;vertical-align:middle;transition:all .15s ease;\n}\n.show-ans-btn-inline:hover{background:rgba(249,115,22,.18)}\n.show-ans-btn-inline[disabled]{opacity:.45;cursor:not-allowed}\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\n\/* Submit panel *\/\n.submit-panel{margin:40px auto 24px;background:linear-gradient(135deg,#fff,var(--light-1));border:1.5px solid var(--border);padding:30px;border-radius:22px;text-align:center;max-width:720px;box-shadow:0 4px 20px rgba(0,0,0,.06)}\n.submit-panel h3{font-family:'Fraunces',serif;font-size:24px;margin-bottom:8px;color:var(--text)}\n.submit-panel p.intro{color:var(--muted);margin-bottom:18px;font-size:14.5px}\n.submit-panel .sp-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}\n.btn-submit-big{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:800;font-size:16px;box-shadow:0 10px 26px rgba(139,92,246,.35);cursor:pointer;transition:transform .15s ease}\n.btn-submit-big:hover{transform:translateY(-2px)}\n.btn-reset-big{padding:14px 24px;border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:14.5px;border:1.5px solid var(--border);cursor:pointer}\n.btn-reset-big:hover{background:var(--light-1)}\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 \u00b7 Key (KET)<\/span>\n    <h1 class=\"serif\">KET Extra \u2014 Test 1<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">Practise the full A2 Key Reading &amp; Writing paper \u2014 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\u20135<\/span>\n        <h2 class=\"serif\">Match the notice<\/h2>\n        <p>Which notice (A\u2013H) says this (1\u20135)? For questions 1\u20135, choose the correct letter A\u2013H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span><b>Jane Muir Hairdressers<\/b><br><sub style=\"font-size:11px;font-weight:600\">Appointments are not always needed.<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>We do not take traveller&#8217;s cheques or credit cards.<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span><b>Found!<\/b><br><sub style=\"font-size:11px;font-weight:600\">Handbag with \u00a350 cash. See Sonia at reception.<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span><b>Cleaner wanted<\/b><br><sub style=\"font-size:11px;font-weight:600\">Will pay \u00a36 to \u00a310 per hour. Call 333456.<\/sub><\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">E<\/span><b>City College<\/b><br><sub style=\"font-size:11px;font-weight:600\">Free haircuts by student hairdressers. Book on 017982.<\/sub><br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span><b>Visit Crystal&#8217;s<\/b><br><sub style=\"font-size:11px;font-weight:600\">Our watches are the cheapest in town.<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span><b>Harry&#8217;s Fruit Farm<\/b><br><sub style=\"font-size:11px;font-weight:600\">Summer jobs for students. Cash paid for all jobs.<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span><b>Lost! Gold watch<\/b><br><sub style=\"font-size:11px;font-weight:600\">\u00a310 for its safe return. Phone 419342.<\/sub><\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part1List\"><\/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\u201310<\/span>\n        <h2 class=\"serif\">Playing a sport<\/h2>\n        <p>Read the sentences (6\u201310) about a girl who plays football. 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:<\/b> Gloria <u>likes<\/u> playing sport very much. <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\u201315<\/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:<\/b> How are you? \u2014 <b>B<\/b> Fine, thanks.\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\u201320<\/span>\n        <h2 class=\"serif\">Frank &amp; Clare \u2014 a car<\/h2>\n        <p>Complete the conversation between two friends. What does Frank say to Clare? For each blank, choose the correct letter A\u2013H.<\/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>Clare:<\/b> Is this your car, Frank?<\/p>\n      <p><b>Frank:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: G)<\/span><\/p>\n      <p><b>Clare:<\/b> Can you drive it?<\/p>\n      <p><b>Frank:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">\u2014 choose \u2014<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Clare:<\/b> Oh, I&#8217;d like to learn too, then I can get a car.<\/p>\n      <p><b>Frank:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">\u2014 choose \u2014<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Clare:<\/b> Lessons are expensive, and then there&#8217;s insurance and petrol too. Mum says I can learn next year.<\/p>\n      <p><b>Frank:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">\u2014 choose \u2014<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Clare:<\/b> I&#8217;d love to. Where are you going to go?<\/p>\n      <p><b>Frank:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">\u2014 choose \u2014<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Clare:<\/b> But who&#8217;s going to drive? It&#8217;s dangerous if you are!<\/p>\n      <p><b>Frank:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">\u2014 choose \u2014<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Clare:<\/b> Okay, but please drive slowly.<\/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> That&#8217;s right. There are so many things to do.<\/div>\n      <div><b>B<\/b> Don&#8217;t worry. My dad will be there.<\/div>\n      <div><b>C<\/b> Yes. We can both go.<\/div>\n      <div><b>D<\/b> Well, why don&#8217;t you?<\/div>\n      <div><b>E<\/b> Not far, we&#8217;ll be back in ten minutes.<\/div>\n      <div><b>F<\/b> That&#8217;s good. I&#8217;m going out in our car now. Do you want to come?<\/div>\n      <div style=\"opacity:.5\"><b>G<\/b> It&#8217;s not mine. It&#8217;s Dad&#8217;s. <i>(example)<\/i><\/div>\n      <div><b>H<\/b> I can, but I need more practice.<\/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\u201327<\/span>\n        <h2 class=\"serif\">Sean Murphy<\/h2>\n        <p>Read the article about a television newsreader. Are sentences 21\u201327 <b>&#8216;Right&#8217; (A)<\/b> or <b>&#8216;Wrong&#8217; (B)<\/b>? If there is not enough information to answer &#8216;Right&#8217; or &#8216;Wrong&#8217;, choose <b>&#8216;Doesn&#8217;t say&#8217; (C)<\/b>.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>Sean Murphy<\/h3>\n      <p>Sean Murphy reads the late news on British television at 11 o&#8217;clock each evening.<\/p>\n      <p>&#8216;This is a good time for a news programme because we can report the early news from America and the late news from Europe. I still arrive home before midnight because the journey from the Television Centre to my home in north London only takes six minutes. My family are all asleep when I get in, but I usually make a drink of hot milk and read a book for about an hour.<\/p>\n      <p>&#8216;I always get up to have breakfast with my three children before they catch the school bus. Then I take the newspapers and go back to bed for a short time. Later on, I go for a swim \u2014 newsreaders spend too much time sitting down! I sometimes go running. I&#8217;ve done the London Marathon twice. That&#8217;s a race of over 40 kilometres. I finished each time, but I wasn&#8217;t among the first!<\/p>\n      <p>&#8216;I start work after lunch at two o&#8217;clock, when I go to my office. The rest of the day is spent planning the programme, but I always try to go home for an hour to see my children before they go to bed.&#8217;<\/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> The late news begins at 11 o&#8217;clock every evening. \u2192 <b>A (Right)<\/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\u201335<\/span>\n        <h2 class=\"serif\">London&#8217;s Tower Bridge \u2014 gap fill<\/h2>\n        <p>Read the article about London&#8217;s Tower Bridge. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>London&#8217;s Tower Bridge<\/h3>\n      <p>Many tourists <u><b style=\"color:var(--accent-1)\">have<\/b><\/u> visited Tower Bridge. It is the only bridge over the river Thames that can open and <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> ships pass under it. Tower Bridge was built in 1894 and <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> uses the same machines to lift up the two halves of the bridge. In earlier times, the river was <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> busier than now and the bridge <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> to open over a thousand times a year. Today, it only opens twice a week.<\/p>\n      <p>In 1952, a big red bus was <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> the middle of the bridge <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> it started to open. The driver only just got to the other side in time! Of course, now <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> are lights at <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> end and the traffic must wait for them to go green.<\/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\u201340<\/span>\n        <h2 class=\"serif\">Holiday words \u2014 spell the word<\/h2>\n        <p>Read the descriptions (36\u201340) of some holiday words. The first letter is given. Type the word. <b>Example (0):<\/b> If you go on a camping holiday, you may sleep in this. \u2192 <b>tent<\/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\u201350<\/span>\n        <h2 class=\"serif\">Complete this email<\/h2>\n        <p>Read the email from Heidi to her friend Gabriella. Type <b>ONE word<\/b> for each space (41\u201350). (Example: <i>from<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"max-width:600px;margin:0 auto\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 26px;font-size:14.5px;line-height:1.95;font-family:'Courier New',monospace\">\n        <p><b>To:<\/b> Gabriella &nbsp;\u00b7&nbsp; <b>From:<\/b> Heidi<\/p>\n        <p>Hi Gabriella,<\/p>\n        <p>You&#8217;re (Example: <u>from<\/u>) the island of Sicily, aren&#8217;t you? I really need you <input class=\"input-blank\" data-q=\"41\" type=\"text\"> help me with my homework! I went to the library yesterday <input class=\"input-blank\" data-q=\"42\" type=\"text\"> for a book because I need some information <input class=\"input-blank\" data-q=\"43\" type=\"text\"> Sicily. I couldn&#8217;t find <input class=\"input-blank\" data-q=\"44\" type=\"text\"> good books there, just an old map! Can I ask you <input class=\"input-blank\" data-q=\"45\" type=\"text\"> few questions?<\/p>\n        <p>First, <input class=\"input-blank\" data-q=\"46\" type=\"text\"> big is the island? When did <input class=\"input-blank\" data-q=\"47\" type=\"text\"> become part of Italy? I <input class=\"input-blank\" data-q=\"48\" type=\"text\"> like to know one more thing. Farmers grow lemons there, but <input class=\"input-blank\" data-q=\"49\" type=\"text\"> they grow other fruit too?<\/p>\n        <p>Please email me your answers as <input class=\"input-blank\" data-q=\"50\" type=\"text\"> as possible!<\/p>\n        <p>Thanks,<\/p>\n        <p>Heidi<\/p>\n      <\/div>\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\u201355<\/span>\n        <h2 class=\"serif\">Joan&#8217;s notes \u2014 a job<\/h2>\n        <p>Read the job advertisement and the note from Karen. Fill in the information in Joan&#8217;s notes (51\u201355).<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px\">\n      <div style=\"background:#fff;border:2px solid var(--text);border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.6;height:fit-content\">\n        <div style=\"text-align:center;font-weight:800;letter-spacing:.03em;font-size:16px\">STUDENTS WANTED<\/div>\n        <div style=\"text-align:center\">for weekend work<\/div>\n        <div style=\"text-align:center\">up to \u00a324 per day<\/div>\n        <div style=\"text-align:center;margin-top:6px\">Forest Caf\u00e9 \u00b7 telephone <b>357550<\/b><\/div>\n      <\/div>\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.6\">\n        <div style=\"border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:10px\"><b>Note from Karen<\/b><\/div>\n        <p style=\"margin-bottom:0\">Joan \u2014 I&#8217;ve seen a job for you. The Forest Caf\u00e9 needs a waitress. It&#8217;s six hours&#8217; work on Saturday evening, starting at 7 p.m. They pay \u00a34 an hour. They need a cleaner too, for 3 hours on Sunday, but it&#8217;s only \u00a33.50 per hour and you won&#8217;t like the work. Phone the manager on Monday at the caf\u00e9 \u2014 or phone me on 357550 for more information. Karen<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\" style=\"max-width:620px\">\n      <h4>Joan&#8217;s notes<\/h4>\n      <div class=\"form-row\"><label>Work at:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Forest Caf\u00e9<\/span><\/div>\n      <div class=\"form-row\"><label>Job:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Day:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Number of hours:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Manager&#8217;s phone no:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Money per hour: \u00a3<\/label><input class=\"input-blank\" data-q=\"55\" type=\"text\"><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 9 \u2014 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 \u2014 note to Nick<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your note, then click <i>Show Sample Answer<\/i> to see examples with examiner marks.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>Read this notice from your friend, Nick. Write a note to Nick and answer the questions.<\/b>\n        <div style=\"background:#fff;border:1px dashed var(--accent-1);border-radius:10px;padding:12px 14px;margin:12px 0;font-style:italic;line-height:1.55\">\n          <b>Notice from Nick (Class 5):<\/b><br>\n          I&#8217;m helping to organise the school concert and I&#8217;d like you to help too! What music do you like? What can you do to help? When are you free to come to a meeting?\n        <\/div>\n        Your note must answer:\n        <ul>\n          <li><b>what<\/b> music you like<\/li>\n          <li><b>what<\/b> you can do to help<\/li>\n          <li><b>when<\/b> you are free to come to a meeting<\/li>\n        <\/ul>\n        Write 25\u201335 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your note here...\"><\/textarea>\n      <div class=\"wc-counter\" id=\"wcCounter\">0 words \u00b7 target 25\u201335<\/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 style=\"margin-bottom:14px\">Sample answers \u2014 with examiner marks<\/h5>\n\n        <div style=\"background:#fff;border-left:3px solid var(--green);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--green);font-size:12.5px;letter-spacing:.05em\">SAMPLE A \u2014 Mark 5\/5 (all three questions answered, no errors)<\/b>\n          <p style=\"margin-top:6px\">Hi Nick,<\/p>\n          <p>I&#8217;d love to help with the concert! I like jazz best, and I can play the piano. I&#8217;m free this afternoon, so can I meet you at 1.30 at the school hall? Pedro<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--accent-1);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--accent-1);font-size:12.5px;letter-spacing:.05em\">SAMPLE B \u2014 Mark 4\/5 (all answered, small errors)<\/b>\n          <p style=\"margin-top:6px\">Hello Nick,<\/p>\n          <p>I want to help with concert. I like pop music and I can sing very good. I am free on Friday after school, so I come to the meeting then. Sara<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--red);padding:10px 14px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--red);font-size:12.5px;letter-spacing:.05em\">SAMPLE C \u2014 Mark 3\/5 (only two questions answered)<\/b>\n          <p style=\"margin-top:6px\">Hi Nick,<\/p>\n          <p>I love rock music and I can help you to sell the tickets for the concert. I really want to be part of it \u2014 please tell me more! Leo<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- SUBMIT PANEL -->\n<div class=\"wrap\">\n  <div class=\"submit-panel\">\n    <h3>&#127919; Finished all 55 questions?<\/h3>\n    <p class=\"intro\">Submit to grade your whole test, or use &#128065; Show Answers per part.<\/p>\n    <div class=\"sp-buttons\">\n      <button class=\"btn-submit-big\" onclick=\"document.getElementById('submitBtn').click()\">&#10003; Submit &amp; Grade All<\/button>\n      <button class=\"btn-reset-big\" onclick=\"document.getElementById('resetBtn').click()\">&#128260; Reset Test<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- RESULTS BANNER -->\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your KET Extra Test 1 \u2014 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 \u2014 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>\u00a9 2026 All English 4U \u00b7 <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> \u00b7 <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 =====\nvar P1 = [\n  {n:1,text:'If you need a job, try telephoning this number.',opts:'ABCDFGH',ans:'D'},\n  {n:2,text:'You should pay with cash here.',opts:'ABCDFGH',ans:'B'},\n  {n:3,text:\"Sometimes you don't have to book here.\",opts:'ABCDFGH',ans:'A'},\n  {n:4,text:'If you find what this person is looking for, you will get some money.',opts:'ABCDFGH',ans:'H'},\n  {n:5,text:'This shop has lower prices than the other shops near to it.',opts:'ABCDFGH',ans:'F'},\n];\nvar P2 = [\n  {n:6,text:'Gloria thinks football is the most _____ sport she plays.',opts:[['A','favourite'],['B','interesting'],['C','nice']],ans:'B'},\n  {n:7,text:'When Gloria plays, she _____ about everything else and just thinks about football.',opts:[['A','leaves'],['B','forgets'],['C','loses']],ans:'B'},\n  {n:8,text:'After school, Gloria _____ on her football boots and plays with her friends.',opts:[['A','runs'],['B','changes'],['C','puts']],ans:'C'},\n  {n:9,text:'When Gloria is older, she hopes that she can _____ some money from playing football.',opts:[['A','earn'],['B','bring'],['C','take']],ans:'A'},\n  {n:10,text:'One day Gloria wants to play football for her _____ in the World Cup.',opts:[['A','country'],['B','nationality'],['C','group']],ans:'A'},\n];\nvar P3a = [\n  {n:11,text:'Hello. This is 245-6780.',opts:[['A',\"I'll call again later.\"],['B','Thank you for your help.'],['C',\"I'd like to speak to John, please.\"]],ans:'C'},\n  {n:12,text:\"I'm going to have a party on Saturday.\",opts:[['A','Who will come?'],['B','Where to?'],['C','How often is it?']],ans:'A'},\n  {n:13,text:'What do I do at the traffic lights?',opts:[['A',\"That's right.\"],['B','Turn left.'],['C',\"You can't.\"]],ans:'B'},\n  {n:14,text:\"I'll take these grapes, please.\",opts:[['A','Can I help you?'],['B',\"They're over there.\"],['C','Would you like a bag?']],ans:'C'},\n  {n:15,text:'What colour will you paint the room?',opts:[['A','I hope it was right.'],['B',\"You can't decide.\"],['C',\"It wasn't very difficult.\"]],ans:'B'},\n];\nvar P3bAns = {16:'H',17:'D',18:'F',19:'E',20:'B'};\nvar P4 = [\n  {n:21,text:'Sean Murphy lives in London.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n  {n:22,text:\"Sean's wife gives him a hot drink when he arrives home after work.\",opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'B'},\n  {n:23,text:'Sean takes his children to school in the morning.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'B'},\n  {n:24,text:'Sean likes to go swimming with his colleagues from work.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'C'},\n  {n:25,text:'Sean has won the London Marathon.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'B'},\n  {n:26,text:\"Sean's working day begins in the afternoon.\",opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n  {n:27,text:'Sean usually leaves the office for an hour during the evening.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n];\nvar P5 = [\n  {n:28,opts:[['A','lets'],['B','let'],['C','letting']],ans:'B'},\n  {n:29,opts:[['A','ever'],['B','yet'],['C','still']],ans:'C'},\n  {n:30,opts:[['A','much'],['B','too'],['C','very']],ans:'A'},\n  {n:31,opts:[['A','should'],['B','had'],['C','was']],ans:'B'},\n  {n:32,opts:[['A','to'],['B','between'],['C','in']],ans:'C'},\n  {n:33,opts:[['A','because'],['B','when'],['C','if']],ans:'B'},\n  {n:34,opts:[['A','there'],['B','when'],['C','they']],ans:'A'},\n  {n:35,opts:[['A','every'],['B','each'],['C','all']],ans:'B'},\n];\nvar P6 = [\n  {n:36,text:'This is where you lie in the sun and go swimming.',first:'b',ans:'beach'},\n  {n:37,text:'You can pack all your holiday clothes in this.',first:'s',ans:'suitcase'},\n  {n:38,text:'Without this you cannot go to some countries.',first:'p',ans:'passport'},\n  {n:39,text:'This is what you use to dry yourself after you go swimming.',first:'t',ans:'towel'},\n  {n:40,text:'You need to put a stamp on this to send it to a friend.',first:'p',ans:'postcard'},\n];\nvar P7Ans = {\n  41:['to'],\n  42:['look','looking','search','searching','ask','asking'],\n  43:['about','on'],\n  44:['any'],\n  45:['a','that'],\n  46:['how'],\n  47:['it','sicily','you'],\n  48:['would','should',\"'d\"],\n  49:['do','can'],\n  50:['soon','fast','quickly'],\n};\nvar P8Ans = {\n  51:['waitress'],\n  52:['saturday','sat'],\n  53:['6','six','6 hours','six hours'],\n  54:['357550'],\n  55:['4','\u00a34','four','four pounds','4.00','\u00a34.00'],\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='\ud83c\udfc6 Excellent! You are well prepared for the real KET exam.';\n  else if(pct>=70) msg='\ud83d\udc4d Good job! A few more tests and you will be ready.';\n  else if(pct>=50) msg='\ud83d\udcda Keep practising \u2014 review the wrong answers above.';\n  else msg='\ud83d\udcaa 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\/\/ ===== SHOW ANSWER PER-Q FEATURE =====\nfunction getAnsForQ(n){\n  if(n>=1) if(n<=5) return (P1.find(function(x){return x.n===n})||{}).ans;\n  if(n>=6) if(n<=10) return (P2.find(function(x){return x.n===n})||{}).ans;\n  if(n>=11) if(n<=15) return (P3a.find(function(x){return x.n===n})||{}).ans;\n  if(n>=21) if(n<=27) return (P4.find(function(x){return x.n===n})||{}).ans;\n  if(n>=28) if(n<=35) return (P5.find(function(x){return x.n===n})||{}).ans;\n  return null;\n}\n\/\/ MCQ q-items: append Show Answer button\ndocument.querySelectorAll('.q-item').forEach(function(item){\n  if(item.querySelector('.show-ans-btn')) return;\n  var qid=parseInt(item.dataset.qid);\n  var btn=document.createElement('button');\n  btn.className='show-ans-btn'; btn.type='button';\n  btn.innerHTML='\\u{1F441} Show Answer';\n  btn.addEventListener('click',function(){\n    var isP6=false; if(qid>=36) if(qid<=40) isP6=true;\n    if(isP6){\n      \/\/ Part 6 spell input\n      var p6q=P6.find(function(x){return x.n===qid});\n      var input=item.querySelector('.input-blank');\n      if(input) if(p6q){input.value=p6q.ans; input.classList.add('correct'); input.dispatchEvent(new Event('input'));}\n      var fb6=item.querySelector('.feedback');\n      if(fb6) if(p6q){item.classList.add('answered'); item.classList.add('correct'); fb6.textContent='\\u{1F441} Answer: '+p6q.ans;}\n    } else {\n      var ans=getAnsForQ(qid);\n      if(!ans) return;\n      \/\/ highlight correct option\n      var correctOpt=item.querySelector('.opt[data-letter=\"'+ans+'\"]');\n      if(correctOpt){correctOpt.classList.add('correct-opt');}\n      \/\/ simulate click so updateProgress fires\n      var fb=item.querySelector('.feedback');\n      if(fb){item.classList.add('answered'); fb.style.background='rgba(16,185,129,.12)'; fb.style.color='#065F46'; fb.textContent='\\u{1F441} Answer: '+ans;}\n    }\n    btn.disabled=true;\n  });\n  item.appendChild(btn);\n});\n\/\/ Part 3b selects: append inline Show Answer button\n[16,17,18,19,20].forEach(function(qid){\n  var sel=document.querySelector('.q-select[data-qid=\"'+qid+'\"]');\n  if(!sel) return;\n  var btn=document.createElement('button');\n  btn.className='show-ans-btn-inline'; btn.type='button';\n  var ans=P3bAns[qid];\n  btn.innerHTML='\\u{1F441} '+ans;\n  btn.addEventListener('click',function(){\n    sel.value=ans; sel.dispatchEvent(new Event('change'));\n    sel.style.borderColor='#10B981'; sel.style.borderWidth='2px'; sel.style.borderStyle='solid';\n    btn.disabled=true;\n  });\n  sel.insertAdjacentElement('afterend', btn);\n});\n\/\/ Part 7 &#038; 8 inputs: append inline Show Answer button\nfor(var qi=41;qi<=55;qi++){\n  (function(qid){\n    var inp=document.querySelector('.input-blank[data-q=\"'+qid+'\"]');\n    if(!inp) return;\n    var ans=(qid<=50)?P7Ans[qid][0]:P8Ans[qid][0];\n    var btn=document.createElement('button');\n    btn.className='show-ans-btn-inline'; btn.type='button';\n    btn.innerHTML='\\u{1F441} '+ans;\n    btn.title='Click to fill: '+ans;\n    btn.addEventListener('click',function(){\n      inp.value=ans; inp.classList.add('correct'); inp.dispatchEvent(new Event('input'));\n      btn.disabled=true;\n    });\n    inp.insertAdjacentElement('afterend', btn);\n  })(qi);\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 \u00b7 Key (KET) KET Extra \u2014 Test 1Reading &amp; Writing Practise the full A2 Key Reading &amp; Writing paper \u2014 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-5419","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5419","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=5419"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5419\/revisions"}],"predecessor-version":[{"id":5837,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5419\/revisions\/5837"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=5419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}