attachment
attachment

I have 10 more days for my 1st year mbbs university exam. Ihave to srudy whole syllabus with in 10 days. I have attached the time table, so give me correct and effective time table to study whole syllabus

Here's your 10-day MBBS 1st Year Study Plan based on your exam timetable:
Exam Schedule (RGUHS - August 2026):
  • 25 Aug (Tue) - Anatomy Paper I
  • 27 Aug (Thu) - Anatomy Paper II
  • 29 Aug (Sat) - Physiology Paper I
  • 31 Aug (Mon) - Physiology Paper II
  • 02 Sep (Wed) - Biochemistry I
  • 04 Sep (Fri) - Biochemistry II

πŸ“… 10-Day Study Timetable (Aug 11 - Aug 24, 2026)

Since today is Aug 11 (Tuesday) at 2:44 AM, you have exactly 14 days until your first exam - but let's plan the next 10 productive days intensively, leaving Aug 22-24 as revision days.

🧠 Daily Schedule Template (Apply Every Day)

TimeActivity
5:30 AMWake up, freshen up
6:00 - 9:00 AMStudy Block 1 (3 hrs - First subject)
9:00 - 9:30 AMBreakfast + short break
9:30 AM - 12:30 PMStudy Block 2 (3 hrs - Continue/same subject)
12:30 - 1:30 PMLunch + rest
1:30 - 4:30 PMStudy Block 3 (3 hrs - Second subject)
4:30 - 5:00 PMTea break + walk
5:00 - 7:00 PMStudy Block 4 (2 hrs - Quick review/MCQs)
7:00 - 8:00 PMDinner + break
8:00 - 10:00 PMStudy Block 5 (2 hrs - Third subject/previous year Qs)
10:00 PMSleep (mandatory - memory consolidation)
Total study = ~13 hrs/day

πŸ“– Subject-Wise Daily Plan

ANATOMY (Days 1-4: Aug 11-14)

Anatomy Paper I topics (Gross Anatomy - Upper Limb, Lower Limb, Thorax, Abdomen):
DayMorning (6 hrs)Evening (4 hrs)
Day 1 - Aug 11Upper Limb: Bones, joints, muscles, nerves (brachial plexus)Upper Limb: Vessels + Previous year Qs
Day 2 - Aug 12Lower Limb: Bones, joints, muscles, nerves (lumbosacral plexus)Lower Limb: Vessels + MCQ practice
Day 3 - Aug 13Thorax: Heart, lungs, mediastinum, pleuraThorax: Great vessels + diagrams
Day 4 - Aug 14Abdomen: GI tract, liver, pancreas, kidneys, peritoneumAbdomen: Posterior abdominal wall + PYQs
Anatomy Paper II topics (Head & Neck, Neuroanatomy, Embryology, Histology):
DayMorning (6 hrs)Evening (4 hrs)
Day 5 - Aug 15Head & Neck: Triangles, cranial nerves, orbit, earHead & Neck: Pharynx, larynx + PYQs
Day 6 - Aug 16Neuroanatomy: Brain, spinal cord, tractsNeuroanatomy: Cranial nerve nuclei + MCQs

PHYSIOLOGY (Days 7-8: Aug 17-18)

DayMorning (6 hrs)Evening (4 hrs)
Day 7 - Aug 17Physio Paper I: Blood, CVS (cardiac cycle, ECG, BP regulation), RespiratoryCVS numericals + PYQs
Day 8 - Aug 18Physio Paper II: Nerve-muscle, GIT, Renal, Endocrine, ReproductiveCNS + special senses + MCQs

BIOCHEMISTRY (Days 9-10: Aug 19-20)

DayMorning (6 hrs)Evening (4 hrs)
Day 9 - Aug 19Biochem Paper I: Carbohydrate metabolism, TCA cycle, Glycolysis, Gluconeogenesis, Proteins, EnzymesLipid metabolism + PYQs
Day 10 - Aug 20Biochem Paper II: Molecular biology, DNA replication, Vitamins, Minerals, Nutrition, Clinical biochemistryHormones + MCQs

πŸ”„ Revision Phase (Aug 21 - Aug 24)

DayFocus
Aug 21 (Fri)Anatomy Paper I - Full revision + diagrams
Aug 22 (Sat)Anatomy Paper II - Full revision + neuroanatomy diagrams
Aug 23 (Sun)Physiology - Both papers, focus on CVS + graphs
Aug 24 (Mon)Biochemistry - Both papers + metabolic pathways

βœ… Smart Study Tips for Exam Crunch

  1. Anatomy - Draw diagrams daily (brachial plexus, heart, Circle of Willis). Use Snell's or BD Chaurasia for quick reading. High-yield = nerve injuries, muscle attachments, clinical anatomy.
  2. Physiology - Focus on graphs (cardiac cycle, spirometry, renal clearance). Use AK Jain or Sembulingam. High-yield = ECG, renal, CVS.
  3. Biochemistry - Memorize metabolic pathways with flowcharts. Use Vasudevan or Lippincott. High-yield = enzyme deficiencies, vitamins, diabetes-related metabolism.
  4. Previous Year Questions (PYQs) - Solve RGUHS PYQs daily - they repeat heavily. Spend at least 2 hrs/day on them.
  5. Mnemonics - Use mnemonics for cranial nerves, vitamins, enzyme cofactors.
  6. Don't skip sleep - 7 hrs minimum. Your brain consolidates memory during sleep.
  7. Active recall - After reading, close the book and write what you remember.
  8. Histology/Embryology - Don't skip - usually 10-15 marks in Anatomy Paper II.

⚠️ Priority Matrix (What to study first in each subject)

SubjectHigh Priority (must do)MediumLow (if time permits)
Anatomy IBrachial plexus, Heart, Inguinal canalJoints, VesselsDetailed muscle origins
Anatomy IICranial nerves, Brain tractsEmbryologyDetailed histology
Physiology IECG, Cardiac cycle, SpirometryBlood groups, HaemostasisDetailed pharmacoreceptors
Physiology IIRenal clearance, GFR, HormonesNerve conductionDetailed GIT
Biochem IGlycolysis, TCA, HMP shuntProtein structureDetailed enzyme kinetics
Biochem IIDNA replication, Vitamins, PCRHormonesTrace elements

You have 14 days and 6 papers - this is tight but very doable. Stay consistent, avoid social media, and prioritize PYQs. Best of luck with your RGUHS exams! πŸŽ“

I want daily 10 hours study and studying all 3 subjects daily and give it in pdf

Reading File
Running Command

mkdir -p /tmp/workspace/mbbs-timetable && ls /tmp/workspace/mbbs-timetable/

Writing File

~/mbbs-timetable/generate_timetable.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer,
    HRFlowable, PageBreak
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus import KeepTogether

OUTPUT = "/tmp/workspace/mbbs-timetable/MBBS_10Day_StudyTimetable.pdf"

# ── Colors ──────────────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#0D3B66")
MED_BLUE    = colors.HexColor("#1A6EB5")
LIGHT_BLUE  = colors.HexColor("#D6E8F7")
ANAT_CLR    = colors.HexColor("#1565C0")   # deep blue
ANAT_LIGHT  = colors.HexColor("#DDEEFF")
PHYSIO_CLR  = colors.HexColor("#2E7D32")   # deep green
PHYSIO_LIGHT= colors.HexColor("#DDEFDD")
BIOCHEM_CLR = colors.HexColor("#6A1B9A")   # deep purple
BIOCHEM_LIGHT=colors.HexColor("#EDE7F6")
BREAK_CLR   = colors.HexColor("#F5F5F5")
HEADER_CLR  = colors.HexColor("#E3F2FD")
REV_CLR     = colors.HexColor("#FFF8E1")
REV_BORDER  = colors.HexColor("#F9A825")
WHITE       = colors.white
BLACK       = colors.black
GOLD        = colors.HexColor("#F9A825")

doc = SimpleDocTemplate(
    OUTPUT, pagesize=A4,
    topMargin=1.5*cm, bottomMargin=1.5*cm,
    leftMargin=1.5*cm, rightMargin=1.5*cm
)

styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

title_style = S("Title2", fontName="Helvetica-Bold", fontSize=16,
                textColor=WHITE, alignment=TA_CENTER, spaceAfter=4)
subtitle_style = S("Sub", fontName="Helvetica", fontSize=10,
                   textColor=WHITE, alignment=TA_CENTER, spaceAfter=2)
day_header = S("DayH", fontName="Helvetica-Bold", fontSize=13,
               textColor=WHITE, alignment=TA_CENTER)
cell_bold = S("CB", fontName="Helvetica-Bold", fontSize=8.5,
              textColor=BLACK, leading=11)
cell_norm = S("CN", fontName="Helvetica", fontSize=8,
              textColor=BLACK, leading=11)
cell_small= S("CS", fontName="Helvetica-Oblique", fontSize=7.5,
              textColor=colors.HexColor("#444444"), leading=10)
tip_style = S("Tip", fontName="Helvetica", fontSize=8.5,
              textColor=BLACK, leading=12)
tip_bold  = S("TipB", fontName="Helvetica-Bold", fontSize=9,
              textColor=DARK_BLUE, leading=13)
section_hdr=S("SecH", fontName="Helvetica-Bold", fontSize=11,
              textColor=WHITE, alignment=TA_CENTER)

story = []

# ════════════════════════════════════════════════════════════════════════════
# COVER / HEADER BANNER
# ════════════════════════════════════════════════════════════════════════════
banner_data = [[
    Paragraph("πŸŽ“  MBBS Phase I β€” 10-Day Intensive Study Timetable", title_style),
],[
    Paragraph("RGUHS Β· August 2026 Examination  |  10 Hours/Day Β· All 3 Subjects Daily", subtitle_style),
],[
    Paragraph("Anatomy  β€’  Physiology  β€’  Biochemistry", subtitle_style),
]]
banner = Table(banner_data, colWidths=[18*cm])
banner.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
    ("ROUNDEDCORNERS", [8,8,8,8]),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("RIGHTPADDING",  (0,0), (-1,-1), 10),
]))
story.append(banner)
story.append(Spacer(1, 0.35*cm))

# ════════════════════════════════════════════════════════════════════════════
# EXAM SCHEDULE BOX
# ════════════════════════════════════════════════════════════════════════════
exam_hdr = [[ Paragraph("πŸ“‹  EXAM SCHEDULE", section_hdr) ]]
exam_hdr_tbl = Table(exam_hdr, colWidths=[18*cm])
exam_hdr_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), MED_BLUE),
    ("TOPPADDING", (0,0),(-1,-1), 5),
    ("BOTTOMPADDING",(0,0),(-1,-1), 5),
]))
story.append(exam_hdr_tbl)

exam_rows = [
    ["Date", "Day", "Subject", "QP Code"],
    ["25 Aug 2026","Tuesday","Anatomy Paper – I","1020 / 5501"],
    ["27 Aug 2026","Thursday","Anatomy Paper – II","1021 / 5502"],
    ["29 Aug 2026","Saturday","Physiology Paper – I","1022 / 5503"],
    ["31 Aug 2026","Monday","Physiology Paper – II","1023 / 5504"],
    ["02 Sep 2026","Wednesday","Biochemistry Paper – I","1024 / 5505"],
    ["04 Sep 2026","Friday","Biochemistry Paper – II","1025 / 5506"],
    ["09 Sep 2026 onwards","β€”","Practical Examinations","β€”"],
]
exam_table = Table(
    [[Paragraph(c, S("ec", fontName="Helvetica-Bold" if i==0 else "Helvetica",
                     fontSize=8.5, leading=11,
                     textColor=WHITE if i==0 else BLACK))
      for c in row]
     for i, row in enumerate(exam_rows)],
    colWidths=[4.2*cm, 3*cm, 7*cm, 3.8*cm]
)
exam_table.setStyle(TableStyle([
    ("BACKGROUND",   (0,0), (-1,0), MED_BLUE),
    ("TEXTCOLOR",    (0,0), (-1,0), WHITE),
    ("BACKGROUND",   (0,1), (-1,1), ANAT_LIGHT),
    ("BACKGROUND",   (0,2), (-1,2), ANAT_LIGHT),
    ("BACKGROUND",   (0,3), (-1,3), PHYSIO_LIGHT),
    ("BACKGROUND",   (0,4), (-1,4), PHYSIO_LIGHT),
    ("BACKGROUND",   (0,5), (-1,5), BIOCHEM_LIGHT),
    ("BACKGROUND",   (0,6), (-1,6), BIOCHEM_LIGHT),
    ("BACKGROUND",   (0,7), (-1,7), REV_CLR),
    ("GRID",         (0,0), (-1,-1), 0.5, colors.HexColor("#BBBBBB")),
    ("TOPPADDING",   (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0), (-1,-1), 4),
    ("LEFTPADDING",  (0,0), (-1,-1), 6),
    ("ALIGN",        (0,0), (-1,-1), "CENTER"),
    ("VALIGN",       (0,0), (-1,-1), "MIDDLE"),
]))
story.append(exam_table)
story.append(Spacer(1, 0.4*cm))

# ════════════════════════════════════════════════════════════════════════════
# DAILY SCHEDULE TEMPLATE
# ════════════════════════════════════════════════════════════════════════════
daily_hdr = [[ Paragraph("⏰  DAILY SCHEDULE TEMPLATE  (10 Hours Study / Day)", section_hdr) ]]
daily_hdr_tbl = Table(daily_hdr, colWidths=[18*cm])
daily_hdr_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING", (0,0),(-1,-1), 5),
    ("BOTTOMPADDING",(0,0),(-1,-1), 5),
]))
story.append(daily_hdr_tbl)

daily_rows = [
    ["Time Slot", "Duration", "Activity", "Subject"],
    ["5:30 – 6:00 AM",  "30 min",  "Wake up, freshen up, light warm-up",       "–"],
    ["6:00 – 8:30 AM",  "2.5 hrs", "πŸ“˜  Study Block 1",                         "ANATOMY"],
    ["8:30 – 9:00 AM",  "30 min",  "Breakfast + short break",                  "–"],
    ["9:00 – 11:30 AM", "2.5 hrs", "πŸ“—  Study Block 2",                         "PHYSIOLOGY"],
    ["11:30 – 11:45 AM","15 min",  "Quick break / walk",                       "–"],
    ["11:45 AM – 2:00 PM","2.15 hrs","πŸ“™  Study Block 3",                       "BIOCHEMISTRY"],
    ["2:00 – 2:45 PM",  "45 min",  "Lunch + rest",                             "–"],
    ["2:45 – 4:30 PM",  "1.45 hrs","πŸ“  Study Block 4 β€” PYQ + MCQ Practice",   "ALL 3 SUBJECTS"],
    ["4:30 – 5:00 PM",  "30 min",  "Tea break + walk",                         "–"],
    ["5:00 – 6:30 PM",  "1.5 hrs", "πŸ”  Study Block 5 β€” Revision of Day's Topics","ALL 3 SUBJECTS"],
    ["6:30 – 7:30 PM",  "1 hr",    "Dinner + relax",                           "–"],
    ["7:30 – 8:00 PM",  "30 min",  "Write short notes / diagrams from memory", "Rotate daily"],
    ["8:00 – 9:00 PM",  "1 hr",    "Optional: Weak topic / extra revision",    "As needed"],
    ["9:00 – 9:30 PM",  "30 min",  "Wind down, review tomorrow's plan",        "–"],
    ["9:30 PM",         "–",       "SLEEP  (Non-negotiable – memory consolidation!)", "–"],
    ["TOTAL STUDY",     "~10 hrs", "Blocks 1+2+3+4+5 = core 10 hrs",           "βœ…"],
]

def daily_row_style(i, row):
    is_study = "Block" in row[2] or "PYQ" in row[2] or "Revision" in row[2] or "notes" in row[2]
    is_break = "break" in row[2].lower() or "Lunch" in row[2] or "Dinner" in row[2] or "Wake" in row[2] or "Wind" in row[2] or "Sleep" in row[0] or "SLEEP" in row[2]
    is_total = "TOTAL" in row[0]
    is_hdr   = i == 0
    if is_hdr:
        return colors.HexColor("#1A6EB5"), WHITE
    if is_total:
        return colors.HexColor("#1B5E20"), WHITE
    if "Block 1" in row[2]:
        return ANAT_LIGHT, BLACK
    if "Block 2" in row[2]:
        return PHYSIO_LIGHT, BLACK
    if "Block 3" in row[2]:
        return BIOCHEM_LIGHT, BLACK
    if "Block 4" in row[2] or "Block 5" in row[2]:
        return colors.HexColor("#FFF9C4"), BLACK
    if "notes" in row[2] or "Optional" in row[2]:
        return colors.HexColor("#F3E5F5"), BLACK
    return BREAK_CLR, colors.HexColor("#555555")

daily_table_data = []
for i, row in enumerate(daily_rows):
    bg, fg = daily_row_style(i, row)
    fn = "Helvetica-Bold" if i == 0 or "TOTAL" in row[0] else "Helvetica"
    daily_table_data.append([
        Paragraph(c, S(f"dr{i}{j}", fontName=fn, fontSize=8.5, leading=11, textColor=fg))
        for j, c in enumerate(row)
    ])

daily_table = Table(daily_table_data, colWidths=[3.8*cm, 2.2*cm, 7.8*cm, 4.2*cm])
ts_commands = [
    ("GRID",         (0,0), (-1,-1), 0.4, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",   (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0), (-1,-1), 4),
    ("LEFTPADDING",  (0,0), (-1,-1), 5),
    ("ALIGN",        (0,0), (-1,-1), "LEFT"),
    ("VALIGN",       (0,0), (-1,-1), "MIDDLE"),
]
for i, row in enumerate(daily_rows):
    bg, _ = daily_row_style(i, row)
    ts_commands.append(("BACKGROUND", (0,i), (-1,i), bg))
daily_table.setStyle(TableStyle(ts_commands))
story.append(daily_table)
story.append(Spacer(1, 0.5*cm))

# ════════════════════════════════════════════════════════════════════════════
# 10-DAY PLAN β€” one section per day
# ════════════════════════════════════════════════════════════════════════════

# Subject topic data
# Anatomy topics split into Paper I and Paper II
# Physiology: Paper I and Paper II
# Biochemistry: Paper I and Paper II

days = [
    {
        "num": 1, "date": "Mon, 11 Aug", "label": "Day 1 of 10",
        "focus": "Anatomy (Foundation) Β· Physiology (Blood) Β· Biochem (Carbohydrates)",
        "anatomy":   ("Upper Limb – Bones, Joints, Muscles (Day's focus: Shoulder & Arm)",
                      "Brachial plexus overview; rotator cuff muscles; axillary & brachial artery"),
        "physiology":("Blood – Composition, Plasma proteins, Blood groups (ABO, Rh)",
                      "Blood coagulation cascade; bleeding time vs clotting time"),
        "biochem":   ("Carbohydrate Chemistry & Glycolysis (Embden-Meyerhof pathway)",
                      "Key enzymes: hexokinase, PFK-1, pyruvate kinase; regulation points"),
        "pyq":       "Draw brachial plexus; write short note on ABO blood grouping; glycolysis enzyme deficiencies",
        "revision":  "Re-read brachial plexus + coagulation factors + glycolysis steps",
        "tip":       "Use colour coding: Blue=Anatomy, Green=Physiology, Purple=Biochemistry in your notes.",
    },
    {
        "num": 2, "date": "Tue, 12 Aug", "label": "Day 2 of 10",
        "focus": "Anatomy (Forearm/Hand) Β· Physiology (CVS-1) Β· Biochem (TCA Cycle)",
        "anatomy":   ("Upper Limb – Forearm, Hand: muscles, nerves (median, ulnar, radial)",
                      "Carpal tunnel, anatomical snuff box, nerve injury signs (wrist drop, ape hand, claw hand)"),
        "physiology":("CVS – Cardiac cycle, Heart sounds, JVP, Frank-Starling law",
                      "Systole/diastole timings; Wiggers diagram; pressure-volume loops"),
        "biochem":   ("TCA Cycle (Krebs Cycle) – all 8 reactions, enzymes, energy yield",
                      "Regulation: isocitrate dehydrogenase, Ξ±-ketoglutarate DH; anaplerosis"),
        "pyq":       "Nerve injury at different levels (median/ulnar/radial); draw Wiggers diagram; TCA energy count",
        "revision":  "Upper limb nerve injuries + cardiac cycle diagram + TCA cycle",
        "tip":       "Nerve injury signs are HIGH YIELD in Anatomy Paper I β€” memorise all 3 (median, ulnar, radial).",
    },
    {
        "num": 3, "date": "Wed, 13 Aug", "label": "Day 3 of 10",
        "focus": "Anatomy (Lower Limb) Β· Physiology (CVS-2 ECG) Β· Biochem (Gluconeogenesis/HMP)",
        "anatomy":   ("Lower Limb – Hip joint, thigh muscles (quadriceps, hamstrings), femoral triangle",
                      "Femoral nerve, obturator nerve, sciatic nerve; hip joint stability & dislocation"),
        "physiology":("CVS – ECG (normal intervals, axis, lead system), cardiac arrhythmias",
                      "Normal ECG waveforms; rate calculation; Q waves; BBB patterns"),
        "biochem":   ("Gluconeogenesis (key steps & bypass enzymes) + HMP Shunt (Pentose Phosphate Pathway)",
                      "G6PD deficiency; NADPH role; regulation of gluconeogenesis vs glycolysis"),
        "pyq":       "Femoral triangle boundaries & contents; draw normal ECG; G6PD deficiency short note",
        "revision":  "Lower limb nerves + ECG interpretation + gluconeogenesis bypass reactions",
        "tip":       "For ECG: practice drawing it from memory. Examiners love asking to label all waves.",
    },
    {
        "num": 4, "date": "Thu, 14 Aug", "label": "Day 4 of 10",
        "focus": "Anatomy (Thorax) Β· Physiology (Respiration) Β· Biochem (Lipid Metabolism)",
        "anatomy":   ("Thorax – Heart (chambers, valves, blood supply, conducting system), Lungs & pleura",
                      "Coronary arteries; sinuatrial node; bronchopulmonary segments; pleural recesses"),
        "physiology":("Respiratory – Lung volumes/capacities, spirometry, V/Q ratio, gas exchange",
                      "FEV1/FVC ratio; restrictive vs obstructive pattern; hypoxia types; O2 dissociation curve"),
        "biochem":   ("Lipid Metabolism – Ξ²-oxidation of fatty acids, ketone body synthesis",
                      "Odd-chain FA; carnitine shuttle; DKA; lipoprotein structure (LDL/HDL/VLDL)"),
        "pyq":       "Draw conducting system of heart; spirometry graph; Ξ²-oxidation of palmitic acid energy",
        "revision":  "Coronary arteries + lung volumes + fatty acid oxidation steps",
        "tip":       "Spirometry graphs and lung volumes table are very frequently asked in Physiology Paper I.",
    },
    {
        "num": 5, "date": "Fri, 15 Aug", "label": "Day 5 of 10",
        "focus": "Anatomy (Abdomen) Β· Physiology (Renal) Β· Biochem (Proteins & Enzymes)",
        "anatomy":   ("Abdomen – Peritoneum, GIT (stomach, small & large intestine), liver, bile ducts",
                      "Portal circulation; inguinal canal; portosystemic anastomoses; McBurney's point"),
        "physiology":("Renal – GFR, tubular reabsorption/secretion, clearance tests, concentration of urine",
                      "Juxtaglomerular apparatus; RAAS; ADH; autoregulation; renal clearance formula"),
        "biochem":   ("Proteins – structure (1Β°-4Β°), denaturation; Enzyme kinetics (Michaelis-Menten, Km, Vmax)",
                      "Enzyme inhibition (competitive vs non-competitive); isoenzymes; clinical enzymes (AST/ALT/LDH)"),
        "pyq":       "Inguinal canal – boundaries & contents; draw GFR autoregulation; Michaelis-Menten graph",
        "revision":  "Portal circulation + renal clearance formula + enzyme inhibition types",
        "tip":       "Inguinal canal is extremely HIGH YIELD. Know it inside out β€” deep ring, superficial ring, contents.",
    },
    {
        "num": 6, "date": "Sat, 16 Aug", "label": "Day 6 of 10",
        "focus": "Anatomy (Head & Neck) Β· Physiology (GIT & Endocrine) Β· Biochem (Amino Acid Metabolism)",
        "anatomy":   ("Head & Neck – Triangles of neck, thyroid gland, carotid arteries, cranial nerves VII-XII",
                      "Parotid gland; facial nerve branches; submandibular triangle; ansa cervicalis"),
        "physiology":("GIT – Secretions (gastric, pancreatic, bile), motility, absorption",
                      "Endocrine – Anterior/posterior pituitary hormones; thyroid function; insulin/glucagon"),
        "biochem":   ("Amino Acid Metabolism – transamination, deamination, urea cycle",
                      "Essential amino acids; one-carbon metabolism; PKU; maple syrup urine disease"),
        "pyq":       "Facial nerve course and branches; bile composition & functions; urea cycle enzymes",
        "revision":  "Cranial nerves + GIT secretions + urea cycle",
        "tip":       "Urea cycle enzyme deficiency diseases are very common in Biochemistry Paper I MCQs.",
    },
    {
        "num": 7, "date": "Sun, 17 Aug", "label": "Day 7 of 10",
        "focus": "Anatomy (Neuroanatomy) Β· Physiology (Nerve-Muscle) Β· Biochem (Nucleotides & Molecular Bio)",
        "anatomy":   ("Neuroanatomy – Spinal cord (tracts, lesions), brainstem, cerebellum, cerebral cortex",
                      "Blood-brain barrier; meninges; CSF; UMN vs LMN lesions; Brown-SΓ©quard syndrome"),
        "physiology":("Nerve & Muscle – Resting membrane potential, action potential, NMJ, muscle contraction",
                      "Excitation-contraction coupling; end-plate potential; types of muscle fibers"),
        "biochem":   ("Nucleotide metabolism – purine/pyrimidine synthesis & degradation; DNA replication",
                      "Gout (xanthine oxidase); Lesch-Nyhan syndrome; HGPRT; semi-conservative replication"),
        "pyq":       "Draw spinal cord tracts; action potential graph with phases; purine salvage pathway",
        "revision":  "UMN/LMN + NMJ + purine/pyrimidine differences",
        "tip":       "Brown-SΓ©quard & spinal cord syndromes are guaranteed long question in Anatomy Paper II.",
    },
    {
        "num": 8, "date": "Mon, 18 Aug", "label": "Day 8 of 10",
        "focus": "Anatomy (Embryology & Histology) Β· Physiology (Special Senses & Repro) Β· Biochem (Vitamins)",
        "anatomy":   ("Embryology – 1st-8th week, germ layers, neural tube, CVS development, congenital defects",
                      "Histology – Epithelium types, connective tissue, cartilage, bone, muscle, nerve histology"),
        "physiology":("Special Senses – Vision (visual pathway, dark adaptation), Hearing (cochlea, audiogram)",
                      "Reproductive – Spermatogenesis, oogenesis, menstrual cycle, hormonal changes"),
        "biochem":   ("Vitamins – Fat-soluble (A, D, E, K) and Water-soluble (B complex, C) – deficiencies & functions",
                      "Minerals – Iron metabolism, ferritin, transferrin, haemoglobin synthesis"),
        "pyq":       "Neural tube defects; visual pathway lesion effects; vitamin D metabolism & deficiency",
        "revision":  "Embryological derivatives + menstrual cycle graph + vitamin deficiency diseases",
        "tip":       "Vitamin deficiency table: make a 1-page cheat sheet with Vitamin β†’ Deficiency β†’ Clinical feature.",
    },
    {
        "num": 9, "date": "Tue, 19 Aug", "label": "Day 9 of 10 β€” FULL REVISION DAY 1",
        "focus": "Revision: Anatomy Papers I & II Β· Physiology Papers I & II Β· Biochem Papers I & II",
        "anatomy":   ("REVISION – Upper limb, Lower limb, Thorax, Abdomen, Head & Neck, Neuro, Embryo, Histo",
                      "Focus: Previous year long questions + diagram practice (brachial plexus, heart, spinal cord)"),
        "physiology":("REVISION – Blood, CVS (ECG, cardiac cycle), Respiration, Renal, GIT, Neuro, Endocrine, Repro",
                      "Focus: Graphs & diagrams (ECG, spirometry, O2 dissociation, GFR, renal clearance)"),
        "biochem":   ("REVISION – Glycolysis, TCA, HMP, Gluconeogenesis, Ξ²-oxidation, Urea cycle, DNA, Vitamins",
                      "Focus: Metabolic pathway flowcharts + enzyme deficiency diseases + clinical correlations"),
        "pyq":       "Solve 2 full sets of RGUHS PYQs (one Anatomy, one Physiology or Biochem) under timed conditions",
        "revision":  "Weak topics only β€” do not re-read strong topics, use flashcards/short notes instead",
        "tip":       "Today: NO new topics. Only revision & PYQs. Eat well, hydrate, sleep by 9:30 PM.",
    },
    {
        "num": 10, "date": "Wed, 20 Aug", "label": "Day 10 of 10 β€” FULL REVISION DAY 2",
        "focus": "Final Revision + Mock Answers + Diagrams + PYQ Marathon",
        "anatomy":   ("FINAL REVISION – Clinical anatomy (nerve injuries, hernias, joints), Cranial nerves, Tracts",
                      "Write 5-mark answers from memory for: brachial plexus, inguinal canal, spinal cord tracts"),
        "physiology":("FINAL REVISION – Write answers for: cardiac cycle, ECG interpretation, renal clearance",
                      "Practise drawing Wiggers diagram, spirometry graph, oxygen dissociation curve from memory"),
        "biochem":   ("FINAL REVISION – Draw all major metabolic pathways from memory (glycolysisβ†’TCAβ†’ETC)",
                      "Short notes: G6PD deficiency, DKA, Gout, PKU, Vitamin deficiencies β€” 5 marks each"),
        "pyq":       "FULL MOCK: Attempt 10 long questions (mix of all subjects) in 3 hrs β€” simulate exam conditions",
        "revision":  "Review mock answers β†’ identify gaps β†’ quick read of missed topics only",
        "tip":       "Sleep by 9 PM tonight. Exam is in 5 days. Your brain needs rest more than cramming.",
    },
]

# Helper to make subject block row
def make_subject_row(subject, color, topic_main, topic_detail, pstyle_bold, pstyle_norm):
    return [
        Paragraph(subject, S("sh", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)),
        Paragraph(topic_main, pstyle_bold),
        Paragraph(topic_detail, pstyle_norm),
    ]

for i, day in enumerate(days):
    # Day header
    is_revision = day["num"] >= 9
    hdr_bg = REV_BORDER if is_revision else DARK_BLUE

    day_hdr_data = [[
        Paragraph(f"DAY {day['num']}  β€”  {day['date']}", day_header),
        Paragraph(day["label"], S("dl", fontName="Helvetica", fontSize=10, textColor=colors.HexColor("#CCDDFF"), alignment=TA_RIGHT)),
    ]]
    day_hdr_tbl = Table(day_hdr_data, colWidths=[12*cm, 6*cm])
    day_hdr_tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), hdr_bg),
        ("TOPPADDING", (0,0),(-1,-1), 7),
        ("BOTTOMPADDING",(0,0),(-1,-1), 7),
        ("LEFTPADDING", (0,0),(-1,-1), 10),
        ("RIGHTPADDING",(0,0),(-1,-1), 10),
        ("VALIGN",     (0,0),(-1,-1), "MIDDLE"),
    ]))

    # Focus line
    focus_data = [[ Paragraph(f"🎯  Focus: {day['focus']}", S("fc", fontName="Helvetica-Oblique", fontSize=8.5, textColor=DARK_BLUE)) ]]
    focus_tbl = Table(focus_data, colWidths=[18*cm])
    focus_tbl.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), HEADER_CLR),
        ("TOPPADDING",    (0,0),(-1,-1), 4),
        ("BOTTOMPADDING", (0,0),(-1,-1), 4),
        ("LEFTPADDING",   (0,0),(-1,-1), 8),
        ("GRID",          (0,0),(-1,-1), 0.3, colors.HexColor("#BBBBBB")),
    ]))

    # Subject grid
    subj_hdr = [
        Paragraph("Subject", S("sh2", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)),
        Paragraph("Main Topics", S("sh2", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)),
        Paragraph("Key Focus / High-Yield Points", S("sh2", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)),
    ]

    anat_row = [
        Paragraph("πŸ“˜ ANATOMY", S("as", fontName="Helvetica-Bold", fontSize=8.5, textColor=ANAT_CLR)),
        Paragraph(day["anatomy"][0], S("at", fontName="Helvetica-Bold", fontSize=8.5, textColor=BLACK, leading=11)),
        Paragraph(day["anatomy"][1], S("ad", fontName="Helvetica", fontSize=8, textColor=BLACK, leading=10)),
    ]
    physio_row = [
        Paragraph("πŸ“— PHYSIOLOGY", S("ps", fontName="Helvetica-Bold", fontSize=8.5, textColor=PHYSIO_CLR)),
        Paragraph(day["physiology"][0], S("pt", fontName="Helvetica-Bold", fontSize=8.5, textColor=BLACK, leading=11)),
        Paragraph(day["physiology"][1], S("pd", fontName="Helvetica", fontSize=8, textColor=BLACK, leading=10)),
    ]
    biochem_row = [
        Paragraph("πŸ“™ BIOCHEMISTRY", S("bs", fontName="Helvetica-Bold", fontSize=8.5, textColor=BIOCHEM_CLR)),
        Paragraph(day["biochem"][0], S("bt", fontName="Helvetica-Bold", fontSize=8.5, textColor=BLACK, leading=11)),
        Paragraph(day["biochem"][1], S("bd", fontName="Helvetica", fontSize=8, textColor=BLACK, leading=10)),
    ]

    subj_table = Table([subj_hdr, anat_row, physio_row, biochem_row],
                       colWidths=[2.8*cm, 7.2*cm, 8*cm])
    subj_table.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0), MED_BLUE),
        ("BACKGROUND",    (0,1), (-1,1), ANAT_LIGHT),
        ("BACKGROUND",    (0,2), (-1,2), PHYSIO_LIGHT),
        ("BACKGROUND",    (0,3), (-1,3), BIOCHEM_LIGHT),
        ("GRID",          (0,0), (-1,-1), 0.4, colors.HexColor("#BBBBBB")),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
        ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ]))

    # PYQ + revision + tip row
    bottom_data = [[
        Paragraph(f"πŸ“ PYQ Practice:\n{day['pyq']}",
                  S("pyq", fontName="Helvetica", fontSize=8, textColor=BLACK, leading=10)),
        Paragraph(f"πŸ” Evening Revision:\n{day['revision']}",
                  S("rev", fontName="Helvetica", fontSize=8, textColor=BLACK, leading=10)),
        Paragraph(f"πŸ’‘ Tip: {day['tip']}",
                  S("tip2", fontName="Helvetica-Oblique", fontSize=8, textColor=colors.HexColor("#4A148C"), leading=10)),
    ]]
    bottom_table = Table(bottom_data, colWidths=[6*cm, 6*cm, 6*cm])
    bottom_table.setStyle(TableStyle([
        ("BACKGROUND",   (0,0),(0,0), colors.HexColor("#FFF9C4")),
        ("BACKGROUND",   (1,0),(1,0), colors.HexColor("#E8F5E9")),
        ("BACKGROUND",   (2,0),(2,0), colors.HexColor("#F3E5F5")),
        ("GRID",         (0,0),(-1,-1), 0.4, colors.HexColor("#CCCCCC")),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 6),
        ("VALIGN",       (0,0),(-1,-1), "TOP"),
    ]))

    block = KeepTogether([
        day_hdr_tbl,
        focus_tbl,
        subj_table,
        bottom_table,
        Spacer(1, 0.45*cm),
    ])
    story.append(block)

    # Page break after day 5 to keep layout clean
    if day["num"] == 5:
        story.append(PageBreak())

# ════════════════════════════════════════════════════════════════════════════
# PRIORITY & TIPS PAGE
# ════════════════════════════════════════════════════════════════════════════
story.append(PageBreak())

tips_hdr = [[ Paragraph("βœ…  HIGH-YIELD PRIORITY MATRIX & SMART STUDY TIPS", section_hdr) ]]
tips_hdr_tbl = Table(tips_hdr, colWidths=[18*cm])
tips_hdr_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING", (0,0),(-1,-1), 6),
    ("BOTTOMPADDING",(0,0),(-1,-1), 6),
]))
story.append(tips_hdr_tbl)
story.append(Spacer(1, 0.2*cm))

priority_data = [
    ["Subject", "HIGH PRIORITY (do first)", "MEDIUM", "LOW (if time permits)"],
    ["Anatomy I",  "Brachial plexus, Inguinal canal, Heart & coronary arteries", "All joints, Abdominal viscera", "Detailed muscle origins/insertions"],
    ["Anatomy II", "Cranial nerves, Spinal cord tracts, Brown-SΓ©quard", "Embryology, Head & Neck triangles", "Detailed histology slides"],
    ["Physio I",   "ECG, Cardiac cycle (Wiggers), Spirometry, O2 dissociation curve", "Blood groups, Haemostasis", "Pharmacoreceptors, Autonomic"],
    ["Physio II",  "Renal clearance, GFR, Hormone axes (pituitary-target)", "Menstrual cycle, Spermatogenesis", "Detailed GIT motility physiology"],
    ["Biochem I",  "Glycolysis, TCA cycle, HMP shunt, Ξ²-oxidation, Urea cycle", "Gluconeogenesis, Enzyme kinetics", "Detailed protein folding"],
    ["Biochem II", "DNA replication/transcription, Vitamins (deficiencies), PCR", "Hormone mechanism of action", "Trace element metabolism"],
]

priority_table = Table(
    [[Paragraph(c, S(f"pm{i}{j}",
                     fontName="Helvetica-Bold" if i==0 or j==0 else "Helvetica",
                     fontSize=8, leading=10,
                     textColor=WHITE if i==0 else BLACK))
      for j, c in enumerate(row)]
     for i, row in enumerate(priority_data)],
    colWidths=[2.8*cm, 6.2*cm, 5*cm, 4*cm]
)
priority_commands = [
    ("BACKGROUND",   (0,0), (-1,0), MED_BLUE),
    ("TEXTCOLOR",    (0,0), (-1,0), WHITE),
    ("BACKGROUND",   (0,0), (0,-1), colors.HexColor("#E8EAF6")),
    ("GRID",         (0,0), (-1,-1), 0.4, colors.HexColor("#BBBBBB")),
    ("TOPPADDING",   (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0), (-1,-1), 4),
    ("LEFTPADDING",  (0,0), (-1,-1), 5),
    ("VALIGN",       (0,0), (-1,-1), "TOP"),
    ("FONTNAME",     (0,0), (0,-1), "Helvetica-Bold"),
]
for r in [1,2]:
    priority_commands.append(("BACKGROUND", (1,r),(3,r), ANAT_LIGHT))
for r in [3,4]:
    priority_commands.append(("BACKGROUND", (1,r),(3,r), PHYSIO_LIGHT))
for r in [5,6]:
    priority_commands.append(("BACKGROUND", (1,r),(3,r), BIOCHEM_LIGHT))
priority_table.setStyle(TableStyle(priority_commands))
story.append(priority_table)
story.append(Spacer(1, 0.4*cm))

# SMART TIPS
tips_list = [
    ("πŸ“˜ Anatomy",        "Draw diagrams DAILY. Brachial plexus, conducting system of heart, Circle of Willis, spinal cord cross-section. Diagrams = guaranteed marks. Use BD Chaurasia Vol 1-3 + Snell's for clinical anatomy."),
    ("πŸ“— Physiology",     "Every graph must be drawn from memory: ECG, Wiggers diagram, spirometry, O2 dissociation curve, renal clearance. Use AK Jain or Sembulingam. Numerical problems in renal clearance β€” practice the formula."),
    ("πŸ“™ Biochemistry",   "Draw all metabolic pathways as flowcharts (1 pathway = 1 page). Enzyme deficiency table is a MUST. Use Vasudevan or Lippincott. Vitamins: one cheat sheet covers 10-15 marks."),
    ("πŸ“ PYQ Strategy",   "RGUHS repeats questions heavily. Solve last 5 years PYQs for ALL subjects. Pattern: 2 long questions (10 marks each) + short notes (5 marks each). Identify the top 20 repeated topics per subject."),
    ("🧠 Memory Tricks",  "Use mnemonics: Cranial nerves = 'On Old Olympus Towering Top A Finn And German Viewed A Hop'; Rotator cuff = SITS; Essential amino acids = PVT TIM HALL; Fat-soluble vitamins = ADEK."),
    ("😴 Sleep & Health", "7-8 hrs sleep is non-negotiable. Sleep consolidates memory β€” you WILL retain more. Drink 2-3 L water/day. Light exercise for 20 min/day improves focus. Avoid energy drinks after 4 PM."),
    ("⏱️ Exam Strategy",  "3-hour paper: Spend 10 min reading, 2.5 hrs writing, 20 min review. Start with your STRONGEST topic. Write points clearly, draw neat diagrams, underline keywords. Examiners reward clarity."),
]

for subj, tip_text in tips_list:
    tip_row = [[
        Paragraph(subj, S("ts", fontName="Helvetica-Bold", fontSize=9, textColor=DARK_BLUE)),
        Paragraph(tip_text, S("tt", fontName="Helvetica", fontSize=8.5, leading=11, textColor=BLACK)),
    ]]
    tip_tbl = Table(tip_row, colWidths=[3*cm, 15*cm])
    tip_tbl.setStyle(TableStyle([
        ("BACKGROUND",   (0,0),(0,0), LIGHT_BLUE),
        ("BACKGROUND",   (1,0),(1,0), WHITE),
        ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#CCCCCC")),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING",  (0,0),(-1,-1), 6),
        ("VALIGN",       (0,0),(-1,-1), "MIDDLE"),
    ]))
    story.append(tip_tbl)

story.append(Spacer(1, 0.5*cm))

# FINAL COUNTDOWN BOX
countdown_data = [[
    Paragraph("πŸ“…  EXAM COUNTDOWN", S("cd", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE, alignment=TA_CENTER)),
]]
countdown_hdr = Table(countdown_data, colWidths=[18*cm])
countdown_hdr.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(-1,-1), DARK_BLUE),
    ("TOPPADDING", (0,0),(-1,-1), 5),
    ("BOTTOMPADDING",(0,0),(-1,-1), 5),
]))
story.append(countdown_hdr)

countdown_rows = [
    ["Aug 11-20","Days 1-10","Intensive Study (10 hrs/day, all 3 subjects)"],
    ["Aug 21-22","Days 11-12","Anatomy Revision (Paper I & II deep revision + diagrams)"],
    ["Aug 23-24","Days 13-14","Physiology & Biochem Final Revision + PYQ Marathon"],
    ["Aug 25","EXAM DAY 1","🎯 Anatomy Paper I β€” Be at centre by 8:30 AM"],
    ["Aug 26","Rest","Light review of Anatomy Paper II topics only"],
    ["Aug 27","EXAM DAY 2","🎯 Anatomy Paper II"],
    ["Aug 28","Rest","Physiology revision"],
    ["Aug 29","EXAM DAY 3","🎯 Physiology Paper I"],
    ["Aug 30","Rest","Physiology Paper II + Biochem Paper I revision"],
    ["Aug 31","EXAM DAY 4","🎯 Physiology Paper II"],
    ["Sep 1","Rest","Biochem Paper II topics"],
    ["Sep 2","EXAM DAY 5","🎯 Biochemistry Paper I"],
    ["Sep 3","Rest","Final Biochem revision"],
    ["Sep 4","EXAM DAY 6","🎯 Biochemistry Paper II"],
    ["Sep 9+","PRACTICALS","Practical Examinations begin"],
]

countdown_table = Table(
    [[Paragraph(c, S(f"cr{i}{j}",
                     fontName="Helvetica-Bold" if "EXAM DAY" in row[1] else "Helvetica",
                     fontSize=8.5, leading=11,
                     textColor=WHITE if "EXAM DAY" in row[1] else BLACK))
      for j, c in enumerate(row)]
     for i, row in enumerate(countdown_rows)],
    colWidths=[3.5*cm, 3.5*cm, 11*cm]
)
cd_commands = [
    ("GRID",         (0,0),(-1,-1), 0.4, colors.HexColor("#BBBBBB")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("VALIGN",       (0,0),(-1,-1), "MIDDLE"),
]
for i, row in enumerate(countdown_rows):
    if "EXAM DAY" in row[1]:
        cd_commands.append(("BACKGROUND", (0,i),(-1,i), colors.HexColor("#B71C1C")))
    elif row[1] in ["Days 1-10"]:
        cd_commands.append(("BACKGROUND", (0,i),(-1,i), colors.HexColor("#1565C0")))
        cd_commands.append(("TEXTCOLOR",  (0,i),(-1,i), WHITE))
    elif row[1] in ["Days 11-12", "Days 13-14"]:
        cd_commands.append(("BACKGROUND", (0,i),(-1,i), colors.HexColor("#0D47A1")))
        cd_commands.append(("TEXTCOLOR",  (0,i),(-1,i), WHITE))
    elif row[1] == "PRACTICALS":
        cd_commands.append(("BACKGROUND", (0,i),(-1,i), colors.HexColor("#4A148C")))
        cd_commands.append(("TEXTCOLOR",  (0,i),(-1,i), WHITE))
    elif row[1] == "Rest":
        cd_commands.append(("BACKGROUND", (0,i),(-1,i), colors.HexColor("#E8F5E9")))
countdown_table.setStyle(TableStyle(cd_commands))
story.append(countdown_table)
story.append(Spacer(1, 0.5*cm))

# Footer message
footer_data = [[
    Paragraph(
        "You have everything it takes. Stay consistent, trust the process, and give your best. All the best for your RGUHS MBBS Phase I Examinations! πŸŽ“",
        S("ft", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE, alignment=TA_CENTER)
    )
]]
footer_tbl = Table(footer_data, colWidths=[18*cm])
footer_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(-1,-1), DARK_BLUE),
    ("TOPPADDING", (0,0),(-1,-1), 10),
    ("BOTTOMPADDING",(0,0),(-1,-1), 10),
    ("LEFTPADDING",(0,0),(-1,-1), 10),
    ("RIGHTPADDING",(0,0),(-1,-1), 10),
]))
story.append(footer_tbl)

# ── Build ────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /tmp/workspace/mbbs-timetable && python generate_timetable.py 2>&1

Running Command

ls -lh /tmp/workspace/mbbs-timetable/MBBS_10Day_StudyTimetable.pdf

Your PDF is ready! Download it here:

MBBS 10Day StudyTimetable

PDF Document Β· PDF


Here's what's inside the PDF:
Page 1 - Overview
  • Full exam schedule (all 6 papers with dates & QP codes)
  • Daily 10-hour schedule template with exact time slots
Pages 2-3 - Day-by-Day Plan (Days 1-10) Each day includes:
  • All 3 subjects covered daily (Anatomy 2.5 hrs + Physiology 2.5 hrs + Biochemistry 2.15 hrs = ~7 hrs core study + 3 hrs PYQ/revision)
  • Specific topics for each subject per day
  • High-yield focus points
  • PYQ practice suggestions
  • Evening revision targets
  • A daily study tip
Page 4 - Strategy Section
  • High-yield priority matrix for all 6 papers
  • Subject-wise smart study tips (Anatomy/Physiology/Biochemistry)
  • Full exam countdown calendar from Aug 11 to Sep 9
Daily 10-Hour Breakdown:
BlockTimeSubject
Block 16:00-8:30 AMAnatomy (2.5 hrs)
Block 29:00-11:30 AMPhysiology (2.5 hrs)
Block 311:45 AM-2:00 PMBiochemistry (2.15 hrs)
Block 42:45-4:30 PMPYQ + MCQ all subjects (1.75 hrs)
Block 55:00-6:30 PMRevision all subjects (1.5 hrs)
Best of luck for your RGUHS exams! πŸŽ“
This is a shared conversation. Sign in to Orris to start your own chat.