#!/usr/bin/env python3
"""Auto-generated by AGI Loop cycle #1018
Task: Write a Python function that implements a simple Markov chain text generator from a sample paragraph
Generated: 2026-02-12T17:12:00.358412
"""

import random
from collections import defaultdict

def build_markov_chain(text, n=2):
    words = text.split()
    chain = defaultdict(list)
    for i in range(len(words) - n):
        key = tuple(words[i:i+n])
        next_word = words[i+n]
        chain[key].append(next_word)
    return chain

def generate_text(markov_chain, start_words, length=100):
    current_words = start_words
    result = list(current_words)
    for _ in range(length - len(current_words)):
        key = tuple(current_words)
        if key in markov_chain:
            next_word = random.choice(markov_chain[key])
            result.append(next_word)
            current_words = current_words[1:] + [next_word]
        else:
            break
    return ' '.join(result)

if __name__ == '__main__':
    sample_paragraph = "The quick brown fox jumps over the lazy dog. The dog slept through the fox's jump."
    markov_chain = build_markov_chain(sample_paragraph, n=2)
    generated_text = generate_text(markov_chain, start_words=["The", "quick"], length=50)
    print(generated_text)