class A {
  A.new();
}
class B {
  B();
}
class C {
  C();
  C.new();
}
class D {
  D.new();
  D();
}
class E1 {
  E1._();
  E1();
  factory E1.new() => E1._();
}
class E2 {
  E2._();
  factory E2.new() => E2._();
  E2();
}
class E3 {
  E3._();
  E3();
  factory E3.new() = E3._;
}
class E4 {
  E4._();
  factory E4.new() = E4._;
  E4();
}
main() {}
