flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop flop