
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
Em
D
D
D
D
D
D
D
F#
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
Em
D
D
D
A
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
F
D
C
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
Em
D
D
D
A
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
Em
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
Em
D
D
D
D
D
D
D
G
D
D
D
A
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
F
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
Em
D
D
D
A
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
F
Em
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
N
N