多项选择题

建设工程合同的类型有()

A、协议合同
B、总包合同
C、分包合同
D、主从合同