O
O
C
S
P
O
S
P
P
S
O
P
O
O
C
O
C
C
P
C
S
P
C
P
S
C
S
S