power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power
power