type A = real type B = int ? A B ? A A ? B A * type A = real type D = real type C = char type B = int type E = struct ( D ) type F = struct ( D ) type G = struct ( A ) type H = struct ( A C ) type I = struct ( A C ) type J = struct ( D C ) type K = struct ( H D ) type L = struct ( I A ) type M = struct ( K L ) type N = struct ( L K ) type O = struct ( C C ) type P = struct ( O D ) type Q = struct ( K P ) type S = struct ( L P ) ? D A ? A D ? A C ? C A ? E F ? E G ? E D ? G D ? H F ? F H ? H I ? J H ? H J ? K L ? L K ? M N ? M L ? M K ? O O ? O P ? P O ? Q S ? S Q ? P K ? K P #