
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
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
A
D
D
D
D
D
D
D
D
N
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
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
G
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
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
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
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
A
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
A
D
D
D
D
D
D
D
G
D
D
D
A
D
D
D
D
D
C#
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
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
A
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
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
D
D
D
G
D
D
D
D
D
D
D
D
D
D
D
D
G
D
D
D
D
D
D
D
D
D
N
N