
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
G
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
Gm
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
G
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
Gm
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
Gm
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
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
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
Gm
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
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
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
G
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
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
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
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
G
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
D
F#
D
D
D
D
D
N