class Class extends Super implements Interface {
  void method1(int i);
  void method2(String i);
  void method3(int i);
  void method4(int i);
  void method5(num n);
}

class Interface {
  void method1(covariant int i) {}
  void method2(covariant int i) {}
  void method4(int i) {}
  void method5(int i) {}
}

class Super {
  void method1(num n) {}
  void method2(num n) {}
  void method3(num n) {}
  void method4(covariant num i) {}
  void method5(covariant int i) {}
}

main() {}
