You are on page 1of 413

B

A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
C
D
F
D
E
D
E
G
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D
E
D

You might also like