abstract
A
c
->
C
*
A1
:
A
[
#
c
= 2
]
abstract
B
:
A
abstract
C
C1
:
C
C2
:
C