package main
import (
	"fmt"
	"errors"
	)

func TekaTekiTeko(batas uint) error {
	if batas < 20 {
		return errors.New("batas masukan harus dkurang dari 20")
	}
	
	for i := uint(1); i <= batas; i++ {
		switch {
			case i%2 == 0:
				fmt.Println("Teka")
			case i%3 == 0:
				fmt.Println("Teki")
			case i%5 == 0:
				fmt.Println("Teko")
			case i%2 == 0 && i%3 == 0:
				fmt.Println("TekaTeki")
			case i%2 == 0 && i%5 == 0:
				fmt.Println("TekaTeko")
			case i%3 == 0 && i%5 == 0:
				fmt.Println("TekiTeko")
			case i%2 == 0 && i%3 == 0 && i%5 == 0:
				fmt.Println("TekaTekiTeko")
			default:
				fmt.Println(i)
		}
	}
	
	return nil
}

func main(){
	
	// contoh masukan yg valid
	if err := TekaTekiTeko(30); err != nil {
		fmt.Println("Error:", err)
	}
	
	// contoh masukan yg tidak valid
	// fmt.Println("contoh masukan tidak vaid")
	// if err := TekaTekiTeko(10); err != nil {
	//	fmt.Println("Error:", err)
	// }
}