library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

static method fibonacci(core::int n) → core::int {
  if(n.{core::num::<}(2){(core::num) → core::bool})
    return n;
  return self::fibonacci(n.{core::num::-}(1){(core::num) → core::int}).{core::num::+}(self::fibonacci(n.{core::num::-}(2){(core::num) → core::int})){(core::num) → core::int};
}
static method main() → dynamic {
  for (core::int i = 0; i.{core::num::<}(20){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
    core::print(self::fibonacci(i));
  }
}
