: next-fib ( a b -- b c ) [ + ] keep swap ; : euler002 ( -- n ) 1 2 0 [ over dup even? [ + ] [ drop ] if [ next-fib ] dip dup 4000000 < ] loop 2nip ;