package main import . "fmt" import . "iter" func fib(n int) Seq2[int,int] { return func(yield func(i,f int) bool) { f1,f2,i:=0,1%n,0 for { f1,f2,i=f2,(f1+f2)%n,i+1 if !yield(i,f1) { return } } } } func main() { var n int Scan(&n) for k,f := range fib(n) { if f==0 { Println(k) break } } }