{"id":5423,"date":"2026-06-30T02:29:46","date_gmt":"2026-06-30T02:29:46","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-extra-test-3-rw\/"},"modified":"2026-07-05T02:43:12","modified_gmt":"2026-07-05T02:43:12","slug":"cambridge-ket-extra-test-3-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-extra-test-3-rw\/","title":{"rendered":"KET Extra \u2014 Test 3 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 3<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\">Train tickets \u2014 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>Museum of Travel and Transport<\/b><br><sub style=\"font-size:11px;font-weight:600\">Entrance free for children<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>Please show your ticket at the museum entrance<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span><b>Get cheaper tickets with a Family Railcard<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span><b>No trains today because of very high winds<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">E<\/span><b>Train tickets will cost more from 1st January<\/b><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span><b>8.30 London train<\/b><br><sub style=\"font-size:11px;font-weight:600\">delayed because of fog<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span><b>Do not get on the train without a ticket<\/b><\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">H<\/span><b>Ticket office closed<\/b><br><sub style=\"font-size:11px;font-weight:600\">Buy your ticket on the train<\/sub><br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/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\">Working as a waitress<\/h2>\n        <p>Read the sentences (6\u201310) about a girl who works as a waitress. 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> Indira is a waitress and works in a fast-food <u>restaurant<\/u>. <b>(Answer: B)<\/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> Where do you come from? \u2014 <b>B<\/b> Texas.\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\">Mike &amp; Steve \u2014 a camping trip<\/h2>\n        <p>Complete the conversation between two friends. What does Mike say to Steve? 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>Steve:<\/b> Hi, Mike. What are you doing for your summer holiday?<\/p>\n      <p><b>Mike:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: D)<\/span><\/p>\n      <p><b>Steve:<\/b> I&#8217;m going camping with some friends.<\/p>\n      <p><b>Mike:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">\u2014 choose \u2014<\/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>Steve:<\/b> Not this year. We&#8217;re going to the forest.<\/p>\n      <p><b>Mike:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">\u2014 choose \u2014<\/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>Steve:<\/b> About a month, I think. Would you like to come with us?<\/p>\n      <p><b>Mike:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">\u2014 choose \u2014<\/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>Steve:<\/b> That doesn&#8217;t matter, I have an extra one you can use.<\/p>\n      <p><b>Mike:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">\u2014 choose \u2014<\/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>Steve:<\/b> Have you ever been camping before?<\/p>\n      <p><b>Mike:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">\u2014 choose \u2014<\/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>Steve:<\/b> Well, I&#8217;m sure we&#8217;ll have a great time.<\/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> Only once, when I was very young.<\/div>\n      <div><b>B<\/b> It&#8217;s a very long way to the forest.<\/div>\n      <div><b>C<\/b> Thanks very much, Steve.<\/div>\n      <div style=\"opacity:.5\"><b>D<\/b> I&#8217;m not sure yet. What about you? <i>(example)<\/i><\/div>\n      <div><b>E<\/b> I&#8217;d love to, but I haven&#8217;t got a tent.<\/div>\n      <div><b>F<\/b> How long are you going to stay?<\/div>\n      <div><b>G<\/b> I&#8217;m afraid I can&#8217;t. I&#8217;m busy.<\/div>\n      <div><b>H<\/b> Really? Are you going to the beach?<\/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\">Rob Stone and the school play<\/h2>\n        <p>Read the article about a famous actor. 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>Rob Stone and the school play<\/h3>\n      <p>Last week, Rob Stone, the famous British actor and star of many Hollywood films, had a party for his 53rd birthday. Rob invited a lot of other actors to his beautiful home for the party. After dinner, he stood up and spoke to everyone there. He told them about something that happened when he was at school 40 years ago.<\/p>\n      <p>As a schoolboy, Rob loved the theatre and he was very happy when he had his first part in a play. It was a very sad play by Shakespeare, the sixteenth-century English writer. Rob played the part of an old man who had to die on stage. He practised and practised to become good at the part. He had to lie on a bed, say a few sad words of goodbye to his sons and then shout in pain and die.<\/p>\n      <p>Rob&#8217;s mother and father came to watch their son in the play. Rob told his guests, &#8216;I shall never forget that evening. It was terrible. As I died, I could hear my father laughing! I still remember now how bad I felt and I have not asked my father to one of my plays since.&#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> Rob Stone comes from America. \u2192 <b>C (Doesn&#8217;t say)<\/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\">Dolphins \u2014 gap fill<\/h2>\n        <p>Read the article about dolphins. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>Dolphins<\/h3>\n      <p>People love dolphins because <u><b style=\"color:var(--accent-1)\">they<\/b><\/u> are beautiful to watch and friendly. Dolphins are also <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> of the cleverest animals and are just as clever as dogs. <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> is possible to teach them in the same way we teach monkeys and dogs. Some people <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> believe that dolphins have a special way of <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> to each other.<\/p>\n      <p><span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> many other sea animals and fish, dolphins are in danger. Many dolphins are caught <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> mistake in fishing nets, but a <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> greater problem is that thousands of dolphins <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> dying because the sea is no longer clean enough.<\/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\">Clothes words \u2014 spell the word<\/h2>\n        <p>Read the descriptions (36\u201340) of some words about clothes. The first letter is given. Type the word. <b>Example (0):<\/b> This keeps your head warm. \u2192 <b>hat<\/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 Kenny to his friend Paul. Type <b>ONE word<\/b> for each space (41\u201350). (Example: <i>to<\/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> Paul &nbsp;\u00b7&nbsp; <b>From:<\/b> Kenny<\/p>\n        <p>Hi Paul,<\/p>\n        <p>I&#8217;m sending this email (Example: <u>to<\/u>) you from France! I&#8217;m having <input class=\"input-blank\" data-q=\"41\" type=\"text\"> excellent time here in Lyon and learning a <input class=\"input-blank\" data-q=\"42\" type=\"text\"> of new words on my language course.<\/p>\n        <p>I&#8217;m staying with a great family. <input class=\"input-blank\" data-q=\"43\" type=\"text\"> are two teenage boys and one of <input class=\"input-blank\" data-q=\"44\" type=\"text\"> has got a computer in his room. I <input class=\"input-blank\" data-q=\"45\" type=\"text\"> send you an email every day <input class=\"input-blank\" data-q=\"46\" type=\"text\"> you like. They&#8217;ve also got a pool <input class=\"input-blank\" data-q=\"47\" type=\"text\"> the garden and after college I often <input class=\"input-blank\" data-q=\"48\" type=\"text\"> swimming.<\/p>\n        <p>How&#8217;s everything <input class=\"input-blank\" data-q=\"49\" type=\"text\"> home? Write to <input class=\"input-blank\" data-q=\"50\" type=\"text\"> soon!<\/p>\n        <p>Kenny<\/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\">Hannah&#8217;s notes \u2014 football team<\/h2>\n        <p>Read the notice and the email about a football team. Fill in the information in Hannah&#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\">SOUTHSIDE FOOTBALL TEAM<\/div>\n        <div style=\"text-align:center;margin-top:4px\">Weekly practice starts Wednesday, 7 May.<\/div>\n        <div style=\"text-align:center;margin-top:6px\">11\u201314 years \u2014 Wednesday, 3p.m.<br>15\u201317 years \u2014 Friday, 6p.m.<\/div>\n        <div style=\"text-align:center;margin-top:6px\">Parents should wait for children in car park.<\/div>\n        <div style=\"text-align:center;margin-top:6px\">First match at City College 20 May. Call Sue Harris on <b>977886<\/b> for other dates.<\/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>To:<\/b> Miss Harris &nbsp;\u00b7&nbsp; <b>From:<\/b> Hannah Jones<\/div>\n        <p style=\"margin-bottom:0\">I am 13 and I want to join the football team. I am on holiday until 9 May so I will come on 14 May. My phone number is 686655.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\" style=\"max-width:620px\">\n      <h4>Hannah&#8217;s notes \u2014 Football practice<\/h4>\n      <div class=\"form-row\"><label>Name of team:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Southside<\/span><\/div>\n      <div class=\"form-row\"><label>Phone no. for more information:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>My practice day:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>My start date:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Time:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"> p.m.<\/div>\n      <div class=\"form-row\"><label>Place to meet Dad:<\/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 Jo<\/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 note from your friend, Jo. Write a note to Jo 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>Note from Jo:<\/b><br>\n          I can&#8217;t find the information about the new art class after school. What day is the class? How long is it? What do we have to bring with us? Thanks, Jo\n        <\/div>\n        Your note must answer:\n        <ul>\n          <li><b>what day<\/b> the class is<\/li>\n          <li><b>how long<\/b> it is<\/li>\n          <li><b>what<\/b> you have to bring with you<\/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 Jo,<\/p>\n          <p>The art class is on Monday after school. It lasts two hours, from four until six. We don&#8217;t have to bring anything \u2014 the teacher gives us everything we need. See you there! Maria<\/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 Jo,<\/p>\n          <p>The class is in Tuesday and it is one hour long. We must to bring a pencil and some paper with us. I think it will be a very good class! Sam<\/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 Jo,<\/p>\n          <p>The new art class is on Friday afternoon and it is three hours long. I really want to go with you, so let&#8217;s meet at the gate. 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 3 \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:'You cannot travel by railway until tomorrow.',opts:'ABCDEFG',ans:'D'},\n  {n:2,text:'Children and parents travel for less with this.',opts:'ABCDEFG',ans:'C'},\n  {n:3,text:'You may have to pay before you travel on here.',opts:'ABCDEFG',ans:'G'},\n  {n:4,text:'Only adults pay to go in here.',opts:'ABCDEFG',ans:'A'},\n  {n:5,text:'This is late because of bad weather.',opts:'ABCDEFG',ans:'F'},\n];\nvar P2 = [\n  {n:6,text:'Indira has to _____ the customers and take them to a table.',opts:[['A','welcome'],['B','arrive'],['C','invite']],ans:'A'},\n  {n:7,text:'The customers _____ what they want to eat and Indira writes it down in a notebook.',opts:[['A','speak'],['B','ask'],['C','choose']],ans:'C'},\n  {n:8,text:'Indira can _____ any extra money which customers leave for her on the table.',opts:[['A','change'],['B','keep'],['C','check']],ans:'B'},\n  {n:9,text:\"If Indira has lunch at the restaurant, she doesn't have to _____ for her food.\",opts:[['A','buy'],['B','spend'],['C','pay']],ans:'C'},\n  {n:10,text:'In a few years, Indira _____ to study Food Science at university.',opts:[['A','hopes'],['B','likes'],['C','decides']],ans:'A'},\n];\nvar P3a = [\n  {n:11,text:'Which shirt do you prefer?',opts:[['A',\"They're both great.\"],['B','Not so much.'],['C',\"It's too big.\"]],ans:'A'},\n  {n:12,text:\"David isn't very well.\",opts:[['A',\"What's the matter with him?\"],['B','How long does he take?'],['C','Why did he do it?']],ans:'A'},\n  {n:13,text:'How do you know my sister?',opts:[['A',\"We'll meet outside the cinema.\"],['B',\"We're in the same class.\"],['C',\"She's got blue eyes.\"]],ans:'B'},\n  {n:14,text:'I hope Andrew will get here soon.',opts:[['A',\"I hope he hasn't.\"],['B','He usually gets it.'],['C',\"I'm sure he will.\"]],ans:'C'},\n  {n:15,text:'Who phoned me?',opts:[['A',\"It's Anne speaking.\"],['B','Sorry, I forgot to ask.'],['C',\"I don't know your name.\"]],ans:'B'},\n];\nvar P3bAns = {16:'H',17:'F',18:'E',19:'C',20:'A'};\nvar P4 = [\n  {n:21,text:'Rob Stone went to a restaurant for his birthday.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'B'},\n  {n:22,text:'Rob talked to a few of his guests about his time at school.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'B'},\n  {n:23,text:\"Rob preferred Shakespeare's plays to those of any other writer.\",opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'C'},\n  {n:24,text:'Rob tried very hard to act well in the school play.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n  {n:25,text:'The old man that Rob played died at the end of the play.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'C'},\n  {n:26,text:\"Rob's father made his son unhappy at the play.\",opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n  {n:27,text:'Rob never invited his father to watch him act again.',opts:[['A','Right'],['B','Wrong'],['C',\"Doesn't say\"]],ans:'A'},\n];\nvar P5 = [\n  {n:28,opts:[['A','another'],['B','one'],['C','all']],ans:'B'},\n  {n:29,opts:[['A','There'],['B','It'],['C','This']],ans:'B'},\n  {n:30,opts:[['A','quite'],['B','yet'],['C','even']],ans:'C'},\n  {n:31,opts:[['A','talking'],['B','talk'],['C','talked']],ans:'A'},\n  {n:32,opts:[['A','As'],['B','For'],['C','Like']],ans:'C'},\n  {n:33,opts:[['A','with'],['B','by'],['C','from']],ans:'B'},\n  {n:34,opts:[['A','more'],['B','much'],['C','most']],ans:'B'},\n  {n:35,opts:[['A','were'],['B','is'],['C','are']],ans:'C'},\n];\nvar P6 = [\n  {n:36,text:'Some boys and girls have to wear this at school.',first:'u',ans:'uniform'},\n  {n:37,text:'This is often on a shirt and you can put pens in it.',first:'p',ans:'pocket'},\n  {n:38,text:'People wear this in the winter when they go outside.',first:'c',ans:'coat'},\n  {n:39,text:'This is the top part of a suit for men and women.',first:'j',ans:'jacket'},\n  {n:40,text:'You wear these on your feet, inside your shoes.',first:'s',ans:'socks'},\n];\nvar P7Ans = {\n  41:['an'],\n  42:['lot','number','load','bunch'],\n  43:['there'],\n  44:['them'],\n  45:['can','could','will','shall',\"'ll\"],\n  46:['if'],\n  47:['in'],\n  48:['go'],\n  49:['at','back'],\n  50:['me'],\n};\nvar P8Ans = {\n  51:['977886'],\n  52:['wednesday','wed'],\n  53:['14 may','14th may','may 14','wednesday 14 may','14','14th'],\n  54:['3','three','3 pm','three pm','3pm'],\n  55:['car park','the car park','in the car park','carpark'],\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 3Reading &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-5423","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5423","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=5423"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5423\/revisions"}],"predecessor-version":[{"id":5836,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/5423\/revisions\/5836"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=5423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}