#!/usr/bin/env python3
"""
Serdarli Primary School — Grade 4 / Unit 1 "My School"
SPIRAL RING INTEGRATION (Halka Entegrasyonu) — Week 1
Grade 3 -> Grade 4 bridge after the 3-month summer break.
All teacher-facing content in Turkish; classroom content in English.
"""

from docx import Document
from docx.shared import Pt, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.enum.section import WD_ORIENT

OUT = "/root/Akademik/İngilizce/4_Sinif_Halka_Entegrasyonu_Unit1.docx"

# ═══════════════════════════════════════════════════════════════
# 1) HALKA HARİTASI — Halka | Kavram | Grade 3 kaynağı | G4 U1 kullanımı | Tatil riski
# ═══════════════════════════════════════════════════════════════
RING_MAP = [
    ("Halka 0", "Sınıf dili ve İngilizce ses (alfabe, talimatlar)",
     "G3 U1: alfabe, selamlaşma kalıpları, sınıf talimatları (Listening: routine classroom instructions)",
     "U1: alfabe + numbers tekrarı, 'Listening and singing a song about classroom activities', talimat takibi",
     "ORTA"),
    ("Halka 1", "Eylem fiili (action verb) kavramı",
     "G3 U5 Actions / U6 Actions / U9 Actions (Lexis) + U5 'saying what people are doing in a picture'",
     "U1: read, write, play, sit, run, draw, listen, look, stand, open (PC'nin çekirdeği)",
     "YÜKSEK"),
    ("Halka 2", "Özne (subject) kavramı + subject pronouns",
     "G3 U1 Pronouns I, you, it, they + G3 U2 Personal pronouns he, she",
     "U1: I / you / he / she / it / we / they — kim yapıyor sorusunun cevabı",
     "YÜKSEK"),
    ("Halka 3", "Yardımcı fiil to be (am / is / are) varlığı",
     "G3 U1: Verb to be (inverted questions and short answers)",
     "U1: PC'nin yardımcı fiili — 'I am reading', 'She is writing'",
     "YÜKSEK"),
    ("Halka 4", "Özne–be uyumu (agreement)",
     "G3 U1 verb to be (inverted questions + short answers)",
     "U1: I→am, he/she/it→is, you/we/they→are refleksi",
     "YÜKSEK"),
    ("Halka 5", "-ing üretimi ve yazım kuralları",
     "G3 U5 / U6 / U9 Present Continuous içinde örtük olarak geçti",
     "U1: reading, writing, running, sitting, studying, swimming",
     "YÜKSEK"),
    ("Halka 6", "Diziliş: düz cümle ↔ soru (inversion)",
     "G3 U1: verb to be inverted questions (Are you...? / Is it...?); G3 U4: 'What are you wearing?'",
     "U1: 'She is writing.' → 'Is she writing?' → 'What is she doing?'",
     "YÜKSEK"),
    ("Halka 7", "Zaman farkındalığı: now / look! / listen!",
     "G3 U9: 'actions happening at the moment of speaking' (SI) + U5/U6 'current and continuous actions'",
     "U1: now, look!, listen! → PC tetikleyicileri",
     "ORTA"),
    ("Halka 8", "Wh- soru kurma (What is she doing?)",
     "G3 U1: Question words What, How many; G3 U8: Where; G3 U4: What are you wearing?",
     "U1: 'What is she doing?' — soru kelimesi + be + özne + Ving",
     "YÜKSEK"),
    ("Halka 9", "Kısa cevap (Yes, she is. / No, she isn't.)",
     "G3 U1: verb to be short answers; G3 U9: PC question form and short answer",
     "U1: pair work 'What is she doing?' + kısa cevap zinciri",
     "ORTA"),
    ("Halka 10", "Üretim / uygulama (sınıfta ne oluyor?)",
     "G3 U5, U6, U9: 'SP: saying what people are doing in a picture'",
     "U1: pair work, School Day Activities (GW), classroom activities song",
     "ORTA"),
]

# ═══════════════════════════════════════════════════════════════
# 2) HALKA DETAYLARI — each ring explained + bridge activity
# ═══════════════════════════════════════════════════════════════
RING_DETAIL = [
    ("Halka 0 — Sınıf dili ve İngilizce ses", [
        "Ne: Öğretmenin İngilizce talimatını anlama, alfabe, sayılar, selamlaşma.",
        "Grade 3 kaynağı: U1 'Listening and responding to routine classroom instructions' + alfabe + numbers 1-20.",
        "Yaz tatili riski: ORTA — 3 ay İngilizce duymayan çocuk talimatı anlamakta yavaşlar ama tamamen kaybetmez.",
        "Köprüleme: İlk 2 gün tamamen İngilizce talimat ('Open your book', 'Stand up', 'Look at the board') + Simon Says (WCA). Alfabe şarkısı + 1-20 sayma ritmi ile ısınma.",
    ]),
    ("Halka 1 — Eylem fiili kavramı", [
        "Ne: 'Yapılan şey' bir kelime türüdür. read/write/play/run eylem; book/table/chair değil.",
        "Grade 3 kaynağı: U5 Actions, U6 Actions, U9 Actions (Lexis kolonlarında aynı kelime grubu üç kez tekrar ediyor).",
        "Yaz tatili riski: YÜKSEK — bu kavram Grade 3'te hiç 'fiil' olarak adlandırılmadı; sadece kelime olarak verildi. Tatil sonrası en hızlı silinen bilgi türü.",
        "Köprüleme: TPR (Total Physical Response) — komut ver, çocuk yapsın. Ardından charades: bir çocuk eylemi yapar, sınıf 'He is running!' der. Kelime kartı destekli.",
        "Kritik kontrol: Çocuk 'book + ing' yapıyor mu? Yapıyorsa halka 1 oturmamış demektir.",
    ]),
    ("Halka 2 — Özne kavramı + subject pronouns", [
        "Ne: Cümlede işi yapan bir özne vardır. I/you/he/she/it/we/they + isim (Ali, my mother).",
        "Grade 3 kaynağı: U1 Pronouns I, you, it, they; U2 Personal pronouns he, she. ('we' yok.)",
        "Yaz tatili riski: YÜKSEK — Grade 3'te 'we' özne olarak HİÇ verilmedi (U1: I/you/it/they, U2: he/she). 'They' U1'de var ama zayıf. Grade 4 Unit 1 ilk kez I/you/we/they/he/she/it tam setini kullanıyor.",
        "Köprüleme: Özne kartları — 'Who is doing it?' sorusu ile. Sınıfı gruplara böl: 'We are reading', 'They are writing' — grup kendini özne olarak kullansın.",
        "Kritik kontrol: 'She am' / 'They is' hataları → halka 4'e bak.",
    ]),
    ("Halka 3 — to be (am/is/are) varlığı", [
        "Ne: Present Continuous'ta ana fiil değil, yardımcı fiil. Çocuk bunu atlarsa cümle çöker.",
        "Grade 3 kaynağı: U1 'Verb to be (inverted questions and short answers)' — yani Grade 3'te be VAR ama PC yardımcısı olarak değil, tek başına ('I am a student').",
        "Yaz tatili riski: YÜKSEK — be'nin 'kendi başına fiil' kullanımı biliniyor ama 'yardımcı' kullanımı Grade 3 U5'te verilip 3 ay unutulmuş olabilir.",
        "Köprüleme: İki kolonlu hatırlatma — sol: 'I am a student.' (be tek başına) / sağ: 'I am reading.' (be yardımcı). Aynı kelime, iki iş. Renkli kartlarla ayırt et.",
        "Kritik kontrol: 'She reading' → be tamamen düşüyor → halka 3/4 kopuk.",
    ]),
    ("Halka 4 — Özne–be uyumu", [
        "Ne: I→am / he,she,it→is / you,we,they→are. Ezber değil, refleks olmalı.",
        "Grade 3 kaynağı: U1 verb to be (inverted questions ve short answers).",
        "Yaz tatili riski: YÜKSEK — uyum tablosu 3 ayda karışır; özellikle 'you are' → 'you is' ve 'they are' → 'they is'.",
        "Köprüleme: Zincirleme drill (chain drill) — öğretmen özneyi söyler, çocuk doğru be'yi ekler. Sonra hızlandır. Hata yapan 'am/is/are' kartını kaldırır.",
        "Kritik kontrol: Uyum tablosunu 60 saniyede hatasız yapabiliyor mu?",
    ]),
    ("Halka 5 — -ing üretimi ve yazım kuralları", [
        "Ne: Üç kural — (a) genel: read→reading; (b) sessiz -e düşer: write→writing; (c) tek heceli tek ünlü + tek ünsüz → ikizleşir: run→running, sit→sitting.",
        "Grade 3 kaynağı: U5/U6/U9 PC içinde örtük geçti, kural olarak açıklanmadı.",
        "Yaz tatili riski: YÜKSEK — kural hiç öğretilmediği için üretim rastgele: 'writeing', 'runing'.",
        "Köprüleme: Üç kutu oyunu — kelimeler üç kural kutusuna ayrılır. Sonra 'hızlı tur': öğretmen V1 söyler, çocuk -ing üretir (10 kelime / 30 saniye).",
        "Kritik kontrol: write→writeing veya run→runing yapıyorsa kural oturmamış.",
    ]),
    ("Halka 6 — Diziliş: düz cümle ↔ soru (inversion)", [
        "Ne: Düz: She is writing. / Soru: Is she writing? (be öznenin ÖNÜNE geçer).",
        "Grade 3 kaynağı: U1 'verb to be inverted questions' (Are you...? / Is it...?) — inversion Grade 3'te be ile öğrenildi; U4 'What are you wearing?' ile kalıp olarak pekişti.",
        "Yaz tatili riski: YÜKSEK — kural biliniyordu ama PC'ye transfer edilmemişti; tatil transfer bağını zayıflatır.",
        "Köprüleme: Dönüşüm oyunu — öğretmen düz cümle söyler ('She is reading.'), çocuk soruya çevirir. Sonra tersi. Kartla ok işareti ile be'nin yerini göster.",
        "Kritik kontrol: 'What you are doing?' → diziliş kopuk → halka 6.",
    ]),
    ("Halka 7 — Zaman farkındalığı (now / look! / listen!)", [
        "Ne: Bu kelimeler PC'nin zilidir. Duyunca -ing kurulur.",
        "Grade 3 kaynağı: U9 'asking and answering questions about actions happening at the moment of speaking'; U5/U6 'current and continuous actions'.",
        "Yaz tatili riski: ORTA — kavram Grade 3'te verildi ama Grade 3'te kıyaslanacak bir 'geniş zaman' YOKTU. Gerçek karşıtlık Grade 4'te kurulur.",
        "⚠️ Dikkat: Grade 4'te Present Simple (geniş zaman) Unit 3'te (to be) ve Unit 6'da ('other verbs') geliyor. Yani Unit 1'de now/every day karşıtlığını TAM kuramayız — sadece 'now' tarafını sağlamlaştırırız.",
        "Köprüleme: 'Look!' kartı kaldırıldığında -ing zorunlu; 'every day' kartı geldiğinde henüz karşılaştırma yapma, sadece 'şu an' vurgusunu yerleştir.",
    ]),
    ("Halka 8 — Wh- soru kurma (What is she doing?)", [
        "Ne: Soru kelimesi + be + özne + Ving. 'What is she doing?'",
        "Grade 3 kaynağı: U1 Question words What, How many; U8 Where; U4 What are you wearing?",
        "Yaz tatili riski: YÜKSEK — 'What' biliniyor ama PC ile birleşimi Grade 3'te 'What are you wearing?' kalıbıyla sınırlıydı; serbest üretim zayıf.",
        "Köprüleme: 'What are you wearing?' (G3 U4 bilinen kalıp) → 'What are you doing?' (yeni) geçişi. Bilinen kalıbı merdiven olarak kullan.",
        "Kritik kontrol: 'What she is doing?' → halka 6+8 birlikte kopuk.",
    ]),
    ("Halka 9 — Kısa cevap (Yes, she is. / No, she isn't.)", [
        "Ne: Soruya kısa cevap be ile döner.",
        "Grade 3 kaynağı: U1 verb to be short answers; U9 'PC question form and short answer'.",
        "Yaz tatili riski: ORTA — Grade 3 U9'da verildi, ama U5 ve U6'da verilmedi (yani yıl içinde sadece bir kez).",
        "Köprüleme: Yes/No kartları ile pair work — soru sor, kartı kaldır, kısa cevap ver. Sadece 'Yes, she is. / No, she isn't.' kalıbı.",
    ]),
    ("Halka 10 — Üretim / uygulama", [
        "Ne: Tüm halkaları birleştirip sınıfta ne olup bittiğini anlatma.",
        "Grade 3 kaynağı: U5/U6/U9 'SP: saying what people are doing in a picture'.",
        "Yaz tatili riski: ORTA — beceri var ama akıcılık düşmüş.",
        "Köprüleme: Sınıf fotoğrafı / poster üzerinden 'School Day Activities' (GW) — gruplar sınıftaki eylemleri anlatır ve sunar.",
    ]),
]

# ═══════════════════════════════════════════════════════════════
# 3) TATİL KÖPRÜSÜ — Hafta 1, ilk 2 gün reaktivasyon
# ═══════════════════════════════════════════════════════════════
BRIDGE = [
    ("Gün 1", "Halka 0 + 1 + 2",
     "Alfabe şarkısı, 1-20 sayma, sınıf talimatları (Simon Says). Eylem fiili kartları: TPR komutları (run, jump, sit, write, read, open, close). 'Who is it?' özne kartları.",
     "Talimatı anlıyor mu? Eylemleri ayırt ediyor mu? Özneyi gösteriyor mu?"),
    ("Gün 2", "Halka 3 + 4",
     "'I am a student.' (be tek başına) vs 'I am reading.' (be yardımcı) — iki kolon. am/is/are kart oyunu. Zincirleme drill: özne → doğru be.",
     "am/is/are 60 saniyede hatasız? 'She am' / 'They is' var mı?"),
    ("Gün 3", "Halka 5 + 6",
     "-ing üç kural kutusu (genel / -e düşer / ikizleşir). 'Hızlı tur' 10 kelime. Dönüşüm oyunu: düz cümle ↔ soru ('Are you...?' bilinen be inversion'ından PC'ye köprü).",
     "write→writing, run→running doğru mu? Inversion yapılıyor mu?"),
    ("Gün 4", "Halka 7 + 8 + 9",
     "'Look!' / 'Listen!' kart oyunu. 'What are you wearing?' → 'What are you doing?' merdiveni. Yes/No kartlı pair work.",
     "Wh- soruda be özneden önce mi? Kısa cevap dönüyor mu?"),
    ("Gün 5", "Halka 10",
     "School Day Activities (GW) — gruplar sınıf/sınıf fotoğrafı hakkında sunar. Classroom activities song. Flashcard gösterimi + timetable bağlantısı.",
     "Öğrenci bağımsız olarak 3-4 cümle üretebiliyor mu?"),
]

# ═══════════════════════════════════════════════════════════════
# 4) 5 DAKİKALIK TEŞHİS
# ═══════════════════════════════════════════════════════════════
DIAG = [
    ("1. Göster–anlat", "Halka 1 + 5", "Resim: koşan çocuk → 'run → running'", "Kural 5'e dön: -ing üç kutu"),
    ("2. Boşluk doldur", "Halka 3 + 4", "'She ___ a book.' → is", "Kural 3-4: am/is/are kart drill"),
    ("3. Kelime sıralama", "Halka 6", "'is / she / writing' → 'She is writing.'", "Kural 6: düz cümle dizilişi"),
    ("4. Soru kurma", "Halka 6 + 8", "'She is writing.' → 'Is she writing?'", "Kural 6: inversion oyunu"),
    ("5. Zaman ayrımı", "Halka 7", "'Look! He ___ (play) football.' → is playing", "Kural 7: 'Look!' kart oyunu"),
    ("6. Özne seçimi", "Halka 2", "'___ are reading.' (We / They)", "Kural 2: özne kartları — 'we' ve 'they' vurgusu"),
]

# ═══════════════════════════════════════════════════════════════
# 5) YIL BOYU SARMAL DEVAMI (G3 → G4)
# ═══════════════════════════════════════════════════════════════
YEAR_SPIRAL = [
    ("G3 U1 — to be + pronouns I/you/it/they + What/How many", "G4 U1 — Present Continuous (be yardımcı olur) + Wh-questions", "Halka 2, 3, 4, 6, 8"),
    ("G3 U2 — he/she + Who/How many + my/your", "G4 U5 — do/does wh-questions (jobs)", "Halka 2"),
    ("G3 U3 — have got/has got + his/her", "G4 U2 — have got/has got + like/love + Ving", "Halka 4 ('s tuzağı)"),
    ("G3 U4 — What are you wearing? + clothes/weather", "G4 U9 — Festivals: seasons, months, weather, clothes", "Halka 8 (bilinen kalıp merdiveni)"),
    ("G3 U5 — Present Continuous (affirmative + question)", "G4 U1 — Present Continuous (yeniden, genişletilmiş)", "Halka 1, 5, 6, 10"),
    ("G3 U6 — Present Continuous (affirmative + question)", "G4 U8 — Animals: can/can't (yetenek)", "Halka 1, 5"),
    ("G3 U7 — I like / I don't like", "G4 U7 — I'd like / I want / I don't want", "Sarmal devam"),
    ("G3 U8 — Where + prepositions in/on/under/near", "G4 U4 — There is/are + want to/wants to + directions", "Sarmal devam"),
    ("G3 U9 — Present Continuous (affirmative, question, short answer) + Let's", "G4 U1 — Present Continuous üretim; G4 U2 — like/love + Ving", "Halka 9, 10"),
]

# ═══════════════════════════════════════════════════════════════
# 6) KAPSAM NOTLARI
# ═══════════════════════════════════════════════════════════════
SCOPE_NOTES = [
    "Negatif form (isn't / aren't) Grade 3 müfredatında YOK; Grade 4 Unit 1 müfredatı da sadece 'affirmative/interrogative' diyor. Negatif form Unit 1 kapsamı DIŞINDA — öğretilirse kapsam aşımı olur.",
    "Grade 3'te 'we' özne olarak hiç verilmedi (U1: I/you/it/they, U2: he/she). 'they' U1'de var ama zayıf işlenmiş. Grade 4 Unit 1'de 'we' için ayrı süre ayrılmalı, 'they' pekiştirilmeli.",
    "Grade 3'te Present Continuous U5'te ilk kez geliyor — yani yılın ortasında. U1-U4 arasında çocuk PC görmedi. Tatil sonrası bu 4 ünitenin bağı da zayıf olabilir.",
    "Grade 3'te Present Simple (geniş zaman) hiç öğretilmiyor. Bu yüzden Grade 4 Unit 1'de 'now vs every day' karşıtlığı tam kurulamaz; Unit 3 ve Unit 6'ya kadar beklenmelidir.",
    "Grade 3'te PC üç kez verildi (U5, U6, U9) ama U9 'short answer'ı ekledi — yani yıl sonunda en olgun hali. Tatil sonrası en taze hatıra U9'dur; köprüleme U9 kalıpları üzerinden kurulmalı.",
]


def set_cell(cell, value, bullets=False, bold=False, size=9):
    cell.text = ''
    lines = value if isinstance(value, list) else [value]
    for j, item in enumerate(lines):
        p = cell.paragraphs[0] if j == 0 else cell.add_paragraph()
        if bullets:
            p.style = cell.part.document.styles['List Bullet']
        run = p.add_run(item)
        run.font.name = 'Arial'
        run.font.size = Pt(size)
        run.bold = bold


def add_table(doc, headers, rows, widths=None, size=9, bullet_cols=()):
    t = doc.add_table(rows=1, cols=len(headers))
    t.style = 'Table Grid'
    t.alignment = WD_TABLE_ALIGNMENT.CENTER
    for i, h in enumerate(headers):
        set_cell(t.rows[0].cells[i], h, bold=True, size=size + 1)
    for r in rows:
        row = t.add_row()
        for i, val in enumerate(r):
            set_cell(row.cells[i], val, bullets=(i in bullet_cols), size=size)
    if widths:
        for row in t.rows:
            for i, w in enumerate(widths):
                row.cells[i].width = Cm(w)
    return t


def build():
    doc = Document()
    for section in doc.sections:
        w, h = section.page_height, section.page_width
        section.orientation = WD_ORIENT.LANDSCAPE
        section.page_width = w
        section.page_height = h
        section.top_margin = Cm(1.5)
        section.bottom_margin = Cm(1.5)
        section.left_margin = Cm(1.5)
        section.right_margin = Cm(1.5)

    style = doc.styles['Normal']
    style.font.name = 'Arial'
    style.font.size = Pt(10)

    # Title
    p = doc.add_paragraph()
    r = p.add_run("\tSERDARLI PRIMARY SCHOOL\t14 - 18 September 2026")
    r.bold = True
    r.font.name = 'Arial'
    p = doc.add_paragraph()
    r = p.add_run("\tGrade 4 — Spiral Ring Integration (Halka Entegrasyonu)")
    r.bold = True
    r.font.name = 'Arial'
    p = doc.add_paragraph()
    r = p.add_run("\tUnit 1 'My School' — Week 1  |  Grade 3 → Grade 4 bridge after the summer break")
    r.font.name = 'Arial'

    doc.add_paragraph()

    # 0. Amaç
    p = doc.add_paragraph()
    r = p.add_run("1. Amaç")
    r.bold = True
    r.font.name = 'Arial'
    doc.add_paragraph(
        "Öğrenciler 3 aylık yaz tatilinden çıktı. Grade 3'te öğrenilen yapılar tatile kadar "
        "ilerlemişti; tatil sonrası özellikle üretim (speaking) ve kural refleksi kopmuş olabilir. "
        "Bu doküman Grade 4 Unit 1 'My School' haftasının Present Continuous hedefini, Grade 3'ün "
        "9 ünitesine kadar geriye giden 11 halkaya (Halka 0-10) böler; her halkanın Grade 3 kaynağını, "
        "tatil kopukluk riskini ve köprüleme aktivitesini verir. Amaç: sarmalı tamamlamak — hiçbir halka "
        "boşta kalmadan Unit 1'e taşınır."
    )

    # 2. Halka haritası
    p = doc.add_paragraph()
    r = p.add_run("2. Halka Haritası — Grade 3 kaynağı → Grade 4 Unit 1")
    r.bold = True
    r.font.name = 'Arial'
    add_table(doc, ["Halka", "Kavram", "Grade 3 kaynağı", "Grade 4 Unit 1 kullanımı", "Tatil riski"],
              RING_MAP, widths=[2.0, 5.0, 6.5, 6.5, 2.0], size=9)

    doc.add_paragraph()

    # 3. Halka detayları
    p = doc.add_paragraph()
    r = p.add_run("3. Halka Detayları — Grade 3 bağı, risk ve köprüleme")
    r.bold = True
    r.font.name = 'Arial'
    add_table(doc, ["Halka", "Detay"],
              [(title, body) for title, body in RING_DETAIL],
              widths=[6.0, 16.0], size=9, bullet_cols=(1,))

    doc.add_paragraph()

    # 4. Tatil köprüsü
    p = doc.add_paragraph()
    r = p.add_run("4. Tatil Köprüsü — Hafta 1'in ilk 5 günü (reaktivasyon + yeni yapı)")
    r.bold = True
    r.font.name = 'Arial'
    add_table(doc, ["Gün", "Aktif halkalar", "Aktivite (reaktivasyon + köprü)", "Kontrol sorusu"],
              BRIDGE, widths=[2.0, 3.5, 11.5, 5.0], size=9)

    doc.add_paragraph()

    # 5. Teşhis
    p = doc.add_paragraph()
    r = p.add_run("5. 5 Dakikalık Teşhis (Hafta 1'in ilk dersinde uygulanır)")
    r.bold = True
    r.font.name = 'Arial'
    add_table(doc, ["Test maddesi", "Ölçtüğü halka", "Beklenen cevap", "Başarısızlık → müdahale"],
              DIAG, widths=[4.0, 3.5, 7.0, 7.5], size=9)

    doc.add_paragraph()

    # 6. Yıl boyu sarmal
    p = doc.add_paragraph()
    r = p.add_run("6. Yıl Boyu Sarmal Devamı — Grade 3 → Grade 4 eşleşmesi")
    r.bold = True
    r.font.name = 'Arial'
    add_table(doc, ["Grade 3", "Grade 4'te nereye taşınıyor", "İlgili halka"],
              YEAR_SPIRAL, widths=[9.0, 8.0, 5.0], size=9)

    doc.add_paragraph()

    # 7. Kapsam notları
    p = doc.add_paragraph()
    r = p.add_run("7. Kapsam Notları ve Uyarılar")
    r.bold = True
    r.font.name = 'Arial'
    for note in SCOPE_NOTES:
        pp = doc.add_paragraph(style='List Bullet')
        rr = pp.add_run(note)
        rr.font.name = 'Arial'
        rr.font.size = Pt(10)

    # İmza
    doc.add_paragraph()
    p = doc.add_paragraph()
    r = p.add_run("Teacher:\t\tHeadteacher")
    r.font.name = 'Arial'
    p = doc.add_paragraph()
    r = p.add_run("Niyazi Coban  \t\tOzgul Dervisogullari")
    r.font.name = 'Arial'

    doc.save(OUT)
    print("Saved:", OUT)
    return OUT


if __name__ == "__main__":
    build()
