import random

def generuj_krajobraz(szerokosc=60, wysokosc=20):
    plansza = [[' ' for _ in range(szerokosc)] for _ in range(wysokosc)]
    
    # 1. GENEROWANIE NIEBA (Gwiazdy i Księżyc)
    for y in range(8):
        for x in range(szerokosc):
            if random.random() < 0.04:  # Szansa na gwiazdkę
                plansza[y][x] = random.choice(['*', '.', '+'])
                
    # Rysowanie księżyca/słońca
    kx, ky = szerokosc - 12, 3
    ksiezyc = ["  ____  ", " /    \\ ", "|  ()  |", " \\____/ "]
    for i, linia in enumerate(ksiezyc):
        for j, znak in enumerate(linia):
            if znak != ' ' and 0 <= ky+i < wysokosc and 0 <= kx+j < szerokosc:
                plansza[ky+i][kx+j] = znak

    # 2. GENEROWANIE GÓR
    linia_gor = [10] * szerokosc
    h = 10
    for x in range(szerokosc):
        h += random.choice([-1, 0, 1])
        h = max(6, min(12, h))  # Granice wysokości gór
        linia_gor[x] = h
        plansza[h][x] = '/' if random.random() > 0.5 else '\\'
        # Wypełnienie wnętrza gór
        for y in range(h + 1, 13):
            plansza[y][x] = '#'

    # 3. GENEROWANIE LASU (Drzewa przed górami)
    for x in range(0, szerokosc, random.choice([2, 3])):
        y_ziemia = 13
        plansza[y_ziemia-2][x] = '^'
        plansza[y_ziemia-1][x-1:x+2] = list('/|\\')
        plansza[y_ziemia][x] = '|'

    # 4. GENEROWANIE JEZIORA (Odbicie w wodzie)
    for y in range(14, wysokosc):
        for x in range(szerokosc):
            if kx - 2 <= x <= kx + 8 and y % 2 == 0:
                plansza[y][x] = '~'  # Odbicie księżyca w wodzie
            else:
                plansza[y][x] = random.choice(['-', ' ', '~'])

    # Łączenie i drukowanie krajobrazu
    print("=" * szerokosc)
    for rzad in plansza:
        print(''.join(rzad))
    print("=" * szerokosc)
    print("  Malowniczy krajobraz generowany proceduralnie w Python 3  ")

if __name__ == "__main__":
    generuj_krajobraz()
# your code goes here