10

((()((())(()))())()()(()))()()()()(())((()(()()(((()(()))()()(()()(()))()()))(())()(((((()()((())(((())()))()(()(((((((((()((()))()))()()()))()))()()(()))((())))()((())))()))()())()))(()(()()(((((())(()(())())))))))((())()()))((())(()(()())))((())))()(())))())(()(())())()()()()()()(())((())()()(())(()())()())()(()(())())((()(())))((()()))()(())()()()(()()((())()(())((((()()((((()))((((()(())(((((()))))())()()(((((()((())()(())((()())()))()()(()(((()(()))))((()(())()))()((()())())()()()())(()))())))())((()()))())))((()((((()())())()))(())())((()))())()))(()(())(((()))(()()))()())()()())))))())(())(()(((()))((((()())()((())()()((()(())()(()))(((()(((()()(()))))))))()))(()()))))()((((()))(()(()(()))()))(()(((())((((()(()()(()()(()(((()(()())))))(((()((()))))))(()(()()()((((((()(((((((())((((()())())))())))())()()(((()())((())()(()(()))))))))())()(()())(((()(()))))(((()(()())))))())()()(()(()(())((()(()((((())(((()())((((((()))))(()())(((((())((()(())(((()))))(((()()()())()(((()(()))())((()))())((()()))())(()()(()()()()()())))((()))))))(())((((((()))())(()((()(((()(((()))((())))()()()(()(()))(())()((()(()))()))(((()()))))())))()())))())))((())())())()))())(()(()(()(()())))))))()(())(()(()()(()))))((()()())(()()()))()))((((((())((((()(())())(())((((((())(()))((((())((()))))))()()((((()((((())))))())))))())))()))(()()(((())(()((((()()()(())()))(()((()))((()()()()((())()())))(()(()((((((((())())))))(())((()))))(()(()(((()())()()())()((()))(()(()(())(((()))))))))((())(((()(((((()((((())()(((((()()()))))(())))()(())))()))()()()()))))(()(()))(()((((())((((()()((((())())))()())()))(())(((())())))())(())(((())())((()()())()))(((())((())(())))))())(()))))(()((((((((((()()((()((()()(((()()()(())())(((())(()()))()(((())))))())()))()(()()()()()())(())(((())((()(((()))(()))(())()(())(()))))))((()))))())()))((((()))(())()(())())))()(((())(()((())))()((()())()()))))())((()())((()(()()))()())))))((()())(())(()()())())(()))))())))()()((((())()))(((()))))(()()))))()()))))((()))()(())))((((()))()(()(())))))())(())())()))))(()))()))((()(()(()()))()((()))()())((()()))())())())())()((((()(()()))())(())(()(()()(((((((((((()(()()()))()))(())(())()()())(()))))(()(()(((()))))((()()((()(((()()())()))())(()))(((()(()(()))))())())((((())())))))(())()((()))))()))))()()(())()(((())))))))())(((()()((())())((()(((())()((())()((())))()(()))()((()()(())()(()(()())())()(((()(()(()(()()(()))(()(((()((())))(())((())(()))()())))(())()())()(()())())((()())()(()()(()))()())())())()()(()((())()))((()((()((()))(())())()())()))))()))(()())))())()(())))(())()()()()()(((((()))(()()()())())(())))()()(((()()((((())))))(()((()((()((((()(((((()()))))())(()()(()()))))))(((()(((()()()))((()(()(())(((())))((()((((()()()()(((()(())(())())()((()))()(()((()())())()))))(((())(()((()((((())(((((()))((((()()))((()()))(())(((()))((()(())((()(())())())(((((()()()())())((())())))()(())))()())())())()())((((())))))(((((()))()()())))()))(()))(((()(())(((())()()())(((()()(((((())()())))())))(())())()(())(()()))()())()((())((())((())()))(()(()(())()))((())))((((()(()(()())())()))()()()()))()((()))())())))()))()()()())())()((()))(())()))()())(()))((()((()(()((((((((())(((())))())())()))))))()())((()()(())()())()))(()(((()))()((())))(())))((()()()))()))()((())((()()))()()((()())(((()(()(()()(((()(())))))(((())))()(((()((())()()(()))(())())(()(()))(())))()))))()((()()))()(())((()(()(((((()()(())))((()((())()()))()()))(()()()))()((())()(((((((()(()))))))(()((((())()(()()((()))()))()()()())((())(()()))()))()()())))(())()())(()()()(((())))))))(((()(((())))()(((((()()))(()))()))(()())))))()()()))()()(())(()()()()()()()(()(()))()))()(((())(()()(()())))()()()(())(())())((()))()))((()))))))(((()(()))()()))((()()()))(()))))(())((((((((()))()()())))))))(()(()(())(((()(()(()(())()))))))))(())))((())()())()()()((()(((((()())))(()())))(())(())))()()((())((())((()(((()(()((((())))))()()()(()(()((()()()())()(()))())((()))(((()()())(()(()(((())((((())))()()((((())(())()()))))))))()))))))(()((())(()))(())((())(()(()))(())))((()())(()))))()()())(())(()()((())(()()()))))()(()())(()(((()((())(()))))())(()(()())()(()((())())))((((()((()((()))()()))())())))())()()(())(())(((((()()())))(())()))(())(()((())())())((())())()()((()())()(())()())()(((()())))()((((()())())))()((())(()()(())))()()(()((()))()()()(((())()(()())((())()((()(())))()()()(())(((()()())((()))))(())))()))(((()(((()()))()(((()())(()))))(()))))(()()((()(((((())((()())()(()))((((()(((())))))(((()(())(()())))(()))())((())))((((()(()))))(()()))((((()()(()()))()()())((())()()(()()()())()((()))((((((()(()()()(((((()((())())())(()))())())))))))(()(()(()((((((()()(())(()((()(()()))))())))()()))))()()(((((()(()((((())()(())(()))()()(()(())(()))()())((())()))()))(((())))()()))))()()()()(())))))()())(((())))()(()((()()))(((()))))))()(()))())())))))(()()())()()()((((())((()(((())()()))(()())))))()((()())(()()()(())((()()())(())()(((()(((()()()()(()(((()())())))(())(())())((()(())(()))()()()((()(((()((()(())()(()(())()())()))()(()(())()(((()((())((())(()()((()(((()())(((()(())(()(()()())((((((())())()))((()))))()())))()))(((()(((())()))(()()()((())()()))()(()))()())))()()())((()(((()()(((()))(((((((()))(()))()))()))()))())))))))))(()())(())()((()(()()))()()))))()())()((((())))(()())(()()()()))(()()(())((()()(((()()(())()()()(())(()()))))((()()(())))))(()(()())))())))())(()()(((())))((((())))()))(())())(()((()(()())(((()))()()(())()))(()()((()(())))()(((()((()(()((((()))))(()()))))()())((((()()(()))()))(()())))()((((((((())((()())))()))(())())()))()))()(())()(((())(())(())()(((()(()(((())(((()((()(())(((()())(((()()()()((())((()(())))))(((()()))()))()())))((())))(())()()))((()(()()(())((()()()))(()))))((()(())()()))((((((()((()))()((()(()((()()()())))()((())(((((((())())()((())()()))()()())(())()))()())(()(((()()))()())))(()()()()()))()))())((()))(()()()(()))(()()))(()((()(()()))())((()(())(((()())))))())))(()((()))()()())(()()((((()())(()()()((()(()()(()())))()((())()))))()()))()((()())((()))))()(()(((())()))()()((((()(()((())(()))()())()())))(()((())(())()((((((((((()))(()))()(())))))())))))(()(())))())(()(())(()((())()))(()(()((()()))()(())(())))()))())(()((((((()())))((())((()())))(()((())(()((((()))(()(()((()))(()))))()())))(()((()())()((()(()()(((()((()(((()()()(()())))()())(()))))()()()((()()((()()(()(()())(((()))))()()())()())(((()()())((()((((())(())(()()(((()))()(())))()())))))))(()((((()((())())((())))())()()))))))()()()))))()(()((())(()))(())(()))(((()()))((()())(((()((()((()(()(((()())())))())((())((())(((()))))((()))(())()()(()((()(()))(((())()))()())(()())))))(()((()()))())((((())())()))())))()))))))())))))(()))()))))(((()))()())()((((()))))()))(((())())(((()(())))(())(())()())))(())()()))((())))(()()())()())())((((((())())()(((()))())(((())()()))()(()())())))(())()())))()(())()()))())()((()(())(((())((((((()((()(((())()((((()(()(())))()())))))(((())))())()())()(((())()()((())()((((()())())))(())())())())()(()()(((()()()))()((((((()(()))))))()))(())(((()((((()(())())()()(((()(((()))(()()))))((())))())))())((((())())))()())))))())))())(())()))))()))(((()((((()(()()((()(())((()()))((()(((((()((())((()(()()()(())((()))((((()))(()))))(()()))((((()())()))))))()())((()(()(()))((((()()(((((()()))())))))))((()()(())()((())))(()()))())())))(()(((())))()))()()))(())(()))((((()()()(()))(()()))))()(())(()())))((((()()((()())())())(((())())(()))))(((()(())))()))(()())((()(()()())))))))()())))(())()()()()(())(())()(((())))()(()())()(())()((()()()())(()))(((((()))))())()()()()()(((((()))))()()(((()((())()))))()((((()((((((((()))))((()()()()()())(((()((((()((()(()()))((())((())(()()(()))((((()(())(()())(((((((((((()))())(()))()))))(())(())()(()()()((()()())())((()((()(((())((()())((()()()((()()))())((()))))(()()()))(())((()((())()((())))(()()()()))(((()(()(()())())())())((((())((()()()))))(())))()))))))()()((()(((())((())()))))((()())(())()()()(())())())()()((()(()()(())((()()()((((((()((()(()))()()))(((()))(()((())((())))(())))))(())))())))((()(((((()(((()(((()(()(((()(()(()))(((()()(((()()))(())((()))()((()()(()()))((()()(()((())(()((()))()(()()))()()(()))(()()(())()())()))(()))(())))))(()))()())()))()))(()))))((((())))(()))())())(())()())()))))))((()()()))(())()())(())()(((((())()))(()((()()())((()))(((())(()(()(())((())((()()(())((()())(())(())((())()(()))))))()(()())()()()))())((()))((()()(())((())))(()))(()())))))))()()((())))())))())())))()()))((()))())((()()(()(())()(((())(()(((()())(()()))()(()(()))))(()))()()))())()(((()))))))()())())(()(()))(((((()()(((((())()))()()((((())))(()()(((()))))))))))((())()()()))(((()()((())))())()(()(()()((())))()(((((())()))())()())(((((()(((()((()())()()))((((()()))((((())(()()))(()())())))((()())()()())(())(())((()(((()(((()()()(()(()(()()))))(())()()((())((((())())))))(((()(()(()(()()((()()())(((())(()))(()(())))))(()()())(()))(()(())(((()))(((()()())))())((((())(())())((()(()()((()))()())())()())(()())())()(()(()(((()))(()(((()()))()(((())))))()()))))()()(()(((()()(()(((())((())))(((()))()()(()((())(()))(())(((()(((()((()(()()(()((()(())()))((((((()((((()(((())())(((()()())())(()(()()())()(()))((()(((()(()()(((((()))((((())(()()))())())((())()(())()())()()(()(())))((())))(())())(())()()(())((()())))((((()())()(()))(())()()))((()(((()(())())((())))()))())((()))((())(()))()))())()()(())((()(()(()(()))()()(()))(()(()((())))))(())((()(((())(())(())())()()(()))()()((())()())((())(()())()(())))))())))()()(((())()()))())(()))(((())(((()())()(()()((())))((((((())))(((())))((()(((((((())()()(())))((((()((()(()))()((())()((())()()))(()))))()(())))))()((()))(())(((())((((())(()))))((((())()(())((())((()))))))()((()())))())(((()))((()))))(()))(((((())())(()())))()(((()((()))(((())))))())))())((()()))(((()()))))))))(())(()())((())(()))()()))(()()(()(()())((()))((())(((()((()()())((()()()))(())(()))))())()))((())))))()(()(())()()))((((()((()()))())((()()()())((()((())(()))(((())))((()()()((()))))(()))()(()()()()))))())(()))((())()())()()))()((()()))()(()()))))(((()(()((((((()()((()(((()((()((())))((((()()))))(()))(())()()(())))(((()()())(((((())(((()(((((((()))))()()))))((()(())())()(()(()()()))))(((())))()()((()()))))())))))))())())())()((()(()())))(()(()()()((()(()((()()))()((((())(())())()())()(())))()))()()())))(((()))())())()(()(()((()()()(()())())()))((((())))(())))((((()))((((()((((((())()((((()))))((()()()(()))(())((((())())))()(()(()()()((()))((()())((()((()))((((()))))())(()()(()()))(()(((()()((()((())())(((()((((()))))()))()))(((()())()(()())((()())((()()()())()(()()))(()))(())()()()(((())((())))((()())())(((((((((()((())((())))(()(())((())()())(())))()()))))())()))))()))()()()()))((())(((()))))(()))(()))(())()())((())()))()))()((()(()()(((()()))()(((((())))(())(())())(()()(())()(()()()(())()()()((((()()()(((()))(()))(()(()()(()))))()))(())((()()()((()(())())((()())(((((()))())((((((()(((()(((((()()((())))))(())((()(()()(()())))()(()()(())))((())()())())()(()())))))()()(())()(()()()()()))((())))(((((()((((()(((((())(())))(((()))(()))))(())()))((()())((()(()(()(((((((()()))))(()))())()((())(()))())))(())((()(()(()))())(((((()())(((())(())(())))))))(((()())))((()((())))(((((()(((()((()())))))()())()()()(())((())()())()(()()()))()))))))()()())(()(()))(())))((((())))())())(()()()(())(())()(()))((()((((()(()))((()())((()))))()((()()())()())()))(()()))(()))(()))((()()((())(((())()()((()))())()(()())))()(())))(((()((((()))())()(()))))()((())())((((()())((((()((((()()(((()(()(())(()))()))()))())()))((()))(()()()))(()()))(()((()())(((()())))((())(())(()))()(()))))()()(()())))()((()((())())))))(())(())(()((((()(()(())())(((()(((((((()(((()())(((((()((()())()()(()(((()((((()())(((()(())))((()()))))))())))))())))((()()(())(()()))()(())())))(((())()((((()))())((()))))()()((((()))))))(()(()))()((())))()()(()()())()()))((()(())(()())(((((((()())())))()())))(()((()())))(()))()()))))()(((())))(((()())()((()))((()())(()))()(((((())()()))()()((((()()())()()()))))))())(())()((((((()(()))))()()))))()()()(()())))))(((()()(())(())((()(()((())(((())())()((((()(((())())(()()(()))())))()()))))()())))((())()()())()()(((((()())(((())()()(()()()))(())())(()))(((((()))(()))(()((()((()()()))(((()))())())))))()))())()()(((()))))()))(()()()))(())())))))))((()()()(()))(())((())()()(((()((((())(())())(()))((()())()))(()(()(())()((((())())()(((((((()()(()))(((())))()))))))(()())))()()((())((()()((((((()()((())((((((()()))(()))())))(()(((())()((((()()))))))))()))(((((()()(()())))()(())()())))((()()(()(())()()((()())()((()()(()(((()))(())))(()())))(())))()((())(())))((())()((((()))))))())())()()((())(()))((()()()(())(()()))())(())((()()()()())(()()((())))((()))))))))((())))((((()())()(()()((()((()))(()()(((())()))(())()))((((((())(()))(((()()()()()))()((((((()))(()((()()))()((())(())(()))((((()()(())))())))(((())))((()))())())())(())()(())()())()((())))()()())((()(((()))())())(()))((()()()(())()()()))(()(((())((()())())())(())))(()()(()))))())(((((((()(()())(((())())(())((()(()())(((()()(()())()()))(())(()(())(()))((()))))((()))))(()(())((())))()())(()))(()())(())))()(()()())())()))(((())(())))()()))((())(())()())(()())()))())))((())()()())))))))))))(()()))))((((())())(()()))))())))((((()()((()((()((()(()(((())()((((())())())())()())()))())()))))()))(())))()()((((((()())((((())((()))(((()(())()(()()()(()(()))()()())())))())))(((())()())))()))(((((((()((()()))(()))())))((())(()()(((())()()((((()(((()(((()((()(()(()(()))(()))))()))))())((())()))()(()((()))()(())(((((()())()((())()())())))((())())((()(()((()(()))((()())())))()(())((((())(((((()((())))()((((()((((()))((()))))(((()()()())))())))))((((())(()))()))()()((())))(()))((())()())(())(())(()))))()(())(()(()())()((((()((())))())((((()))()((())))(()))())()(()((()(()((()()())))()(((()())())((()))))()))(()))()(())((())((((()((()((((((()())(())()())(()))(()())(((())(()(()(((())((())((()())))((())())()()(()(()()))))()()((())())()(()(()())())()))())(()((((((()())()))))(()())()((())))()()(((((()(()()(()(()(()()(())(()(()()()(((()())())())()(()(())(((((((()))))))())()))))())()()()())))))((())))()))()(((())))()()()))((((()())(()(())))())(((())()())((((()))))(())(()()())()((((())(()()(((()))))))))()(())(()))()()))(()((((()(()())(((()()())(((()(((()(()))((((())())())))(()))(()((()((((()((())(()))(())()((())()())(()))))()((())(((()()()((()))(((()()))())())((()(())))()(())((((())(()(()(()()())()()()(()()()(()(())(()))((())()))()()))((())())((((((((()))()))(()())))())())()(()))()(())())(()())))((()))(()())()))(()))((((())()()()()(((())))()(()((())))))))()(()((()()(((())((())(()(()(())))(()((()(()))))(()(()(())(())))(())(())(()()))))()))())()(())))(())()((()()((())()()((((()()()))))()))()())()))((()())()()))())()((())))()))((((())(())))()(()))))(()())(())())(((()(((((())))()((()))(((()()((()((()())()()()))(()()(()((()((()()))(()()())(((()))(()))())((()))(()(())))(())))())))((())())())((()()())))((()()()()())(()()(()()()))(())()))))())))()()())())())()(((()(((()))(((((())(()))((()((()((()()())(((()())((()(()))(()(()))))((()(())(()))())(()(()))(()((((()()())(((((()))(())()))()())())(((((()))()(()))()(()()()()))()(())))(((())()((((()())(()(()()(()()))(((()))()))()(()()))((()())))((())((()()()))()))()())())))))()()))(()())))))))))())()()))((()())))((((())()()(((()())()(((()(()((()()))(()((())())(())(()))(((((())())()))))((())((()))))()()()())()(()(())()()())))()()(())(()()()))(())))))()))(()))((((()((()())))()())))(()))((()(()))))(()((((()))()(((((()))((((()()())(((()(()(()(())((()()))())(())()()()()()(()()()())((())())(()())(())))(((())(())(()(()((()()))(())(()))()()(()((((()())((())(()())((())()(())(()(((()))))()(()()()((((((((())(()))()((())(()()))((())(())())(()((()(()(())))((()()(()((((()))()()((()()())((())(()(()()(()((())))))))()((((((()(()(()))()(((((())))()((())()()())()(((((((()))))(((())))()((()()(()((())))(()()(()(())()))))(()()))(())))))))(()(())())((())((())()(((()())((()(()(()(((())(()())(()((()))((())()(()()()))())()(()()(((((()(()()())()))((()((()()())))())(())))(()(())(()(((((()(())()()))))((((()))()()(())))())))))()))))))(()))(())(()(((()(()))()())()((())()())))()())))(()))()())))(()(((()()))))()(((()())))()(())))()()()))()))())))()())))())((((())))(()()(((((((((()))((())())()()(((((((())(((((())()))(())))()()((())()))))())))())))()()))))))()()(()()()))((((()()))())()))()(()())()()(())())(((((()(((((((((()))(()())((((()((()((()))()()(())))((()(((()()((((())())))))(())(((())))))())()))((()())))()())))))()(((((())((()(((((()((())(()))))))()()())()(())(((((()()(())))())(((()()))(())())(()))()(())((((((()))())(((())())(()))))))))(()(()()())))))))))))()(()((()))())))))))()()((()()))))())(()())())())()(())(((())()))()()()))()(())(())))()))))())())))(((()())(((()(()(()())()(((((()()(()(()(()())))()()()))))()()((()()(()())(()()((()))()()(())())())((())()))(()(()()())))(())(())((((())(((((((((()((())((()))()())(())()(()))())(()((((((())))()((())((((()))())))((((())))()(())))))()()))))())(()()(((((()((())))())()(())()))()))()(()())())())()))))())))))()((())())()((((())(())))(()))())()()()())()(((())((())))()())(((()())(()(()()((()()()()))))))(()))(())()))()())(()()((((((())()(()())(())((())))))()))())))())))(())(((((())(())(((((((()(((((()(((()()))()()())))((()()())(())(((())(()()()())(()()(()()((()((((()())()()()((((()(()()))((()))())(()))))))))((()(()((((()())))(()())((((()(()))()()()((((())(())))))((()))))(()(()(())()()()((()())()))))())((()()))))((()(()()())))(()()))(())))))(((()(()()(((())(((()()))())()())))()())()(())(((()())))(())())(()()()((()())()(())(()))()))))(()()())()(((()((()))())()()())))((()())(())()(()(((())()())()()(())))()())(()()))()()(((()((((())()())(())))(()))))))(())(()))(()))()()())()))(()()(()(())())))(()(()())()()()))((()()))((()))))))(()))))))(())())((((())())(((()())()())(()))((()(())()))())((()((()(()(()())((((()(()))))((()(())()(()(())())())(())(((()(((()())()())))(()((()(()))))))((((()((()))((((()))()(((()))()(()()())(()((())())((())((((()(())))(((()))())))(((((()(()()()))(()))))))()((()()()(()())(()(())((((((())))(()())())))))())())))(()()()(()(()())(()())))((()(((())(()(()))()))))))))()(()))()(())())(())(()()())()))))()))()((()))))(()))((()))()()))()()())))()))()((())()))(()())())()((())((()))((())())(()(((((()())))()))))(())((((()(()((())))))))))((((()()()(()())))))))(()))((()))(((()()()()()))(()))((()()(())()()()(((((()))()))(((()(((()())(())))()))()(()(())))(()()())))))()(())()())))(()()()()(((()(())(((((()(()((())())()()()))((()()(()(()(()())(()(()()))((((()(()(((()(((())()(())()(()()()))()))))((()(())))()()(()))((())((()))((())((((()(((()))()()(()())()())()())(()()()(()))(()))()()((((()((()(()()()))())()((()(()))))()(()(((()))))()()))())(()()()())())()(((()))(()(()((()))(())()()())(())((()))((())()()((())()(()((())))))((((())))()()(()())))())))))(())()()())))))(((()))))()))))((()))()(()))((())(((((()())(((()))))))())))())))(())(()))(())))())))()((()())((((()((()(((()(())))(()()))((()(((())()((())()))(((())(())))(()())))))((()()())()((((())))))())(()()()()())()(())()))(()(())(()))(())))()(((()((((())()()()))((()()()()())))(())))))(()()))())())())(()))()()()))((())()(((())())()()())))))(((())()((()()((())()))((()((()()()()()(())))())))())(())()((())))((())(())(())(()(((()))()(()))))((()))))()((((()()()())())())()())()(()()(((()()()(()))((()())(((((()()))(())()()((())()(((((()((((()())(())(())()(()())))()(())()(())(((((()))()))(())))()((()))(())((())()((()))())()(((((())()(((()()()))(()))))()((((())))((()()))))((((())()()((()(()))))))(((())()())(()()()))))()(()())()())()))()((()))()((())(((())()(()())))(()(()((((((())()())(()((())(()(((()()))(()))()(((())()))))()()))())()((((((((()((()))((((((((())((()))))))()()))))(()))(()()(())()(())())))(()()()))(()((())())))((()())))())))))))))))))))())((()))((()(())()())()(((()(((())(((())())()((()()())))(((())((()))()(()()())))()((())(()((()()))(()))()))(()(((())(()()())(()(((()((((()(()(()))((((()()))((()()))))(()()()(()()((()))())))(())()))()(())()(()))))()))(((())(()(()())))())()))((((((((((((())()())))())))(((()((())((((()))))())()))(()))(((((((((()()((()))())())()()(())(((((()()(()))))()))((((())))()()(()()))())()(()()()((())))(()(((())))()())((((()))(())(())(()))()()))(((())((())))())(()())))))(()())(()))()())))(())))())()))((()))))(()(())((((((()())))()))((()())))()()))))((())())()()(((()(((()())))(())))(((()))()((()))())((()))))))())(()((()(()))((((()(()()()))))))((((())(())))()()()((((((()()))((())((()))())()(()()())))())()))))(())(()()))))()()(()))()())(()))()((()))()))((()((())()()(((()((()())(()))(((())))(()())))))()))((()(((()()((((((())()(((()((((((()((())))()(()()())())(((()((()()))))(((())(()((()))((())()(()))()))()()))())()(())((((()()())())))()))()(())))()())(()())))()))))(((())()(()))))()(())()))))()))))()))))()((())()(()))()((()(()(())(((()()))))))()()()(()()))(()(()()(())))((((()()(((()()()(((())()()()(())()())))))())((()()(())())(()()(()(())()(((((((())((())(((())())))(()()())()(())(()))())))(((()(((()(())))()()))))()()()(()))((((())((()(((()())()((((((()(()((()))()(((())))))((()(((()(())())((()()(((()))()()(((()))())((()))()())(()((()))))()())((((()()()))(())))()(()((((()))()()((((()()())(())(()))(()(((()((())(())))()(())()((((())()())()()(((()))(()))(()())()))()()))()())))(()((((()()))(()(((()(()()()()())((()())(())((()))()((()())()(()))))((())()((()()))(((((()))))))(()(())))(((())()())()(()))())(())())((()())(())))()(())(()()))()))(((((()(()()))))(()))()()())()())())(((()((()(((())()))()(((()((()()((((((()()())(()(())))()())())))))))((()))(())()()()))((())))(()()())()()))))))()()(()()(())(())))()))))))))(()((()((())))(()())((()())()()()()()((((()(())()))()(())(((()(())(()()))())((((()((()()())))(()))()())(((()))((()((())())()))(((()())()())(()())()))()))((()())))((((()()))(()()()(()(((()(((()(()())((()(()())()())))((((()(()(())((())())))())()((()))()((()()((()))))(()))()(()()))()))((()()())())))()((((()()())()())))(())))()))())())())))))(()()(())())(())(()(())))()(()()(()))))))()))((()()()(()))))))))())(())(((()()))(())(((())())()((()()(()()())(()(()()(()()(()()))))))()()())()(()(()))(()))))))())(()(((()))()(()))((()()(()(())())()))))()()()()((())(()))(((((()((()))(()()()())(()))((())))))()()((((((()))))()))()((((()))()()())())(((()()))(((()))(())()(()))((()(()(()((()(()(()()))((((())(()(()))(()))()())(()))()())(())())()())()))((())(())(()(((()))))))(((()(())((()))()()(()((()()(()())())))())(())()()(()()(()()(())))))))()()()()((((()(()()())()(())))(((())(()()(((((()(())))(((()()))(()((())((())(())()))))(((((((()(()())())()()(((()))))())(()(()()))))((((()())((()))())())())((()())((()()())))((()()()())(())()(((()()()())((((()()()()(()(()(((())())(())((())())((()))(()())())(()()))(()))())(())))(())()()()()))()))()((()))))((()((())(()((()((())))()((())))((((()((((()(()((())((())()))))))))((())(()()(((()())(()()))))(()))()()))((((()((()((((()((()((((()())))))()))()))(((())))))())((())(((()))(((()))()(()()()(()())(()))((()(((())(()((()((((()(()())()((())))))(((())(((()(()())))()())))(((()))(()())())))((()))())((((((()(()(())()()))(()((())((((()))))()(()))(()())()))()))()))(())()))(()((())()()((((())(()()()(())())))))())))()))()((()))()(((((()())())(()())))((())())())()((()()))(())))((()))(()()(())))()))(())()())))())))((()()((())(()()())((((()))(())()()(((()()())))()())()())((())))()))))())((()()())))))()(()))(()(()(())((()((()))))((()()(()(())(()()((()()))()(())))))(())(())()))(()(((()(()))((()()(()())()()(()(()))(()()(())))(())))((())())()))())()()((((()((()()((())(((()))()(())))((((((((()))))(((()))()()(()(()((()))((((()()))))))()()))))))())()()()()))())()())()(())()()(()(())()(()()(())))()()(()()()(()))(()())(())(())()((()))(())(()(((()())((()))))())()()(()()(((())())(()((()))((())()(((())((()((())((())))))()((()(((())())))()()())(()))))))(((()()))(()((()(()(()((((()(()))(()((((((()()(((()()()())(()()))()(())(()((()((((()())(())))()())(())()))())()(()()()()))(())()))((((()((((()(()()))))))()()(((()()))()(()((()()((((())(())((()(()((((()()(()(((()()(()(())(((()))()()(())())()))(())(())()))()(()()((()()))()(()((()((()))))())()))())(()()()(()))((()(()()((()))))(()()))(())((()))(()(()(())))))))())))()(())(())(((()()()))(()))()(((())()()(()(()))))))(())()))(()())(((()((())()))()))()()()))))((()((())(())))()()((()()()))()((())))))((((()))(()))))()((((((()()(()(()(())(())(()())())())()()()(())(()()(())())(()((((()(())))(((()())()(()())()))))(()())()()))))())()))(())(()))(()()(()()(()()((()((((()(())())((((())))()))()))()(()((()())))()()()()))))))))()(((()((()())())()())()(()))()))()()(()()))())(()(())))((((()((((()()(())((((()))(()())()))(()())((()())))())(((()(((()())))))))))((()(((())((())(((()()((()())(((()))()(()()))())))))())())))((()()))(((()(())))()(()(((()())(()())))()()((((())()()))))(()(()))()()(()((((())((((())())(()((())(((())))(())())(()()(()))())(()))()()())(()())())()))()()()(()()))((()))())))))((()))(()((()()(())()))))(((())()())(((()((()()(()()(()))(((((()((((()())()))()()))(()(()()))))()((())))())(())()))(((()(()(())))))()()((())))())())(())))(()()())())()()(()))(()())(())()()()((())())()()()(()())(())(())()()((((())))(((((()()(()())))))())())()(())()()((())(((()())()(((((())))(()((((((()()()))))())()))())())))()()((((())()(()))(((()))())(())())))()(()((()())()(())))()(())((()(())(()))()(())())((()(()((((()((())())((()(((())(()(())()()))(())()))()((()())((())))()))(((()))())((())()())))(())()(((()((()(()()()((((())(()))))))(()(())()((())(()((())()((()()((()()))))(()))()()((())()())))(((()()()))))()))))()))()()(())))()()((()())()())()(())((())())()(((())))()(())(((()()))(((((()))((())))()()))(()))(())((())())(())((())((())(((((()()()())))))()()))()(((())()()()))(())()(())()()()()((())(((()((()())))()()()(())()))())()()()()(())()(())((()(()(()((()()((()(()())(())))))((()))(())(()())())()())(()()))()()())()((((()(())))((()(())((())())(())))((()()(()((())))((((()((()()())()))(()((()((())))())(())()((()())()((()))))())((()))(())()()))()(()(((((()()(()()())(()())(()))))(())((()))))()()((()(()()))()()()()()()))))(())))()()((((())((())))())((()))()(((((()()()()(((()))(()())()))(()))()((()())))(())))()((()()(((()()()((()))))((()(((((((()(((((((()()))))()))()(((()(()(())((()((()())(()(((())(()()(()(()(((()())()()())(((())))))())())()(()(())())())((())()))(())(()()()))())()((())))()))(((((()))(((()(((((((())(()))()(()(()())(()))))(()((()()()(())))()((((((()()(()((()((())))))()(())((()()())))()()))((())))(())(((((()()))((()(())())())())))((()))()()()((()(((())()())))()()()((()))((()())()((()((((()()(((((()))))(())()(())())((())(((())()()(())))()(()()))))())())))))((()))(()((())(())()))))))(())(()()(()())()))(((()((((((((()(()))((((((((()())((())()((((()())()((()))))))(()(())()))))(())((())())(())())()())(()(()()))()((()))()((()()((())())()(((()(()()())((((()))))))(())(((()(())((((((((())))()))))(((()())(()))))()))(()()())((((())()())()()((()(((()())())(()((((()(((()((((()())))(())))()(())())()()()())))()(()()))))())()()())()))(((()(()((()))(((()))(()())()())())()(())((((()())(((()))()(((()))))()((())(((()(()()))(())(()())((()((((())))))))(())())))())((()()())(()(((()()((())())((((((()(())))((()()())(())()((()((()))()))(())())))))()())((()))()()(((())()()()(()((())))(()))()((())()()()()))))((())()())(()(((())))(()()(()()()()())(((()))))((()))((((()(()()((((((()))(()))()))())((()())))())(()())(()())(((()))((()))()())))))(()(())()(())))(())))(((())))(())(()())()()((((()(())))()())))()(())))()(())((())((((()(())))()((()((())))))(()(((((())()(()()()(((()(((())((()()))))()))())()())((()))))(()(((((())(()())(()))(()))())((((()))())()(((()())(()()))()))())(())))(()(((((()())))())()))(())()))())(())))(())))))()())(())))((((()(()(((((())()()))())(())(()()(()(((()()))()())())(()()((((()))((()(()))(((()())(()))))(()((()))))(())()))))))()((()())()))((())())()(((()))())))((((((()(()()()))(((()(())((((((((())())))()))))(((()))))()(()()(()(((()(()))(())(((())((((()())((()))())())()(())())())()())(()(((((()())(())))(()()))(()()))(()(()()))))()))))()()(((()()())(())))))(((()((()()())(())((()()(((()((()((())(())))))((()))))())()((()()(()(()))()))(())(())()(((()())((()()()())))()(()(((((((((()((()))())))()(())))())(()())))(())()()))(()(()))()(((())))))))())((()))((((())()())))((((()))()(())))()(())()(()))((((())(()))))())((())))(()()(())))((((()((()((()))(()())(()()())))(())))(()))()())()(())())))()(())(())))))))(((())))))))))))((((())(((()(((((())()))())((((()()))())(()()))()))(())()()()())())(()(()())))()())(())(()))())(()())(())))())())(((((())()(())())(())((((())))((()(())()())()()()))(()(())((((())(())())((()((()((()((()))()))((()(((((())()()))))))())()()((((()(((()))(((((()))(()()(()))())()()))(((()()))()))))()))(((()))))(()(())()())()))(()(((((()(())()())(()((((())()())()())(()))(()(()(()))()()(()))(()()())))))()()())((()))(()(()()))((()(()())(((())(((())())((())()()((()((()(((()())()()(()(()((())))())))))()))(()))()(())(((())((()(()))))())())(())()(())())())()())))()())()())))())()))((()())())())()))(((()(((()()((())(()(((()(((()(()(()))(())())))()()()(())()((()))())()()(()))()(((()((()()()))(()()((((()(((()())(()))()()()))((())))()())()(())()))(()())))))())(())()(())((()))((((((((()((())))))(((((()(()))()(()(((()()())()((())()(((()))(()()))()((())()))((()(((()))(()(()(())))())(((((()((()((()((((())((()((()()((()))))()()))()(((()(())))()((()))(((()()())(((())(((()()(())(())()(()(()(())()))))))((()()()()))(()()()))(()))))(())))))()))()(()()()(((((())))()))()))(()))(((()))()((()))(((()()))()(((((()))((((()((()(()))(()(()(())())(())()()(()()((())())()))())())(())(((())()())(((((()()((()()())()(()(()(()(((())((((())))()()()()(())(())(())(()()))())(())))))())()))(()()))((())))))(((())))()))))()((()()(())))())())(()(((((()))()())()(((())))(()))()(())))))))((())()))))))()))(((()))))(()(()((())))())(()((())((((()())(()(()()(())(())(()()(()())()))))(()))((()()))))(()()()((()(()(()))(()))()(()()())(((()()())))(()((((()((()(((((((()()(()())()((((()))(((((()((()(())(((()(((()((((()()))((((())())))))(()))())))()(()())()(())())()(()(()))())())(()(()()()(()()((()()(((())))(())(())(())(())(())()((((((()(((((())())((((()()((()(())))(()((()((((()((()()((())())()(())()()))())((()(((((((()))))()((())())()(()((((((())()))(((((()))()(())())())())))))(())(((()()(())((((()(())))())(()))(())((()()()))())())()()())()))((()((()(((()))())(((()))(()((())(()))))))()()))))())))()))))))())((())()(())(()(()()()(())(())))((()()))(()(((()(()))))))))((()(())(((())()((())))())(())(((())))((()(()))()))(())))())((()(()(())(()(((()(((()()()((())()(())((())())((()())((()((()(()((())()((())()()())()()))()(((()(()((()))((())())()()(())))))(()())())))))))())())((()()(()((())(()()(()())((()))))()))())())(())()())))(((((()())())(()))))((()((((((()())((((())((()((())))())))())(((((((())())))(())(())))(()(()((()()(()(()))(()((()()))())(()))))()()())))())((()))()())))(())(()((())())))(()((((((((()))((((()()))()()()))())((()))(()()))((())))((())(((()))))())))))()((((((((())()(()((()(((((()))((()(()(()))))((())(()))(((((())))((())()()((())))()(()()))))(()))())(((())))))))((((())()(()()(())()((((((()(()())))()))(()())()()(())()()(()())(()()(()())(((())())()((((((((()((((((()())())()()()))(())((())((()))()())(((((((()())()()())))((()())(()((())(((()()()((((((())))))((()))))()))((((((()()()))(())((()()(())(()((((()()))(())))()())((()))))(((())))())(((())()())))(()()())()()))()()(((((()())))(())()(((()((((()())((((())()())((())())))(((()())))))((((((((()())))((()()()))())(()(()))()()()()())()((()(((())()()()(((())(()))(())())((())(((((())((())())(()))()(((((())(()(((())((((()(()))())()(((()((())()()())())()(())())))))((())(())(((()()()()(())()))()((()))(()))(())))()()))())()()))()))())(())))()()(((())((())(()()))))((((()()()((()))))()))))((())(()()()())))((()((()))()))())(()()))))()((()(()(((((())))(((((()()((()((()()((()))()(((()(((()((()())(()(((())()))()()))(())((())))()(()))))(()(()())(((()((()()()(()))(((((())())(((()(((()(()))(()((())(())))))())())))(()()()))(()(())((((((()(((()))(()(((()()())()(())))))())(((((())))))))()(((((())))((()(((((()())))((())()(()((()())))((()(())(((())((()()()()())())()()(()()(())(()))(((((((((()))()()()(((()(()())()(())()((())()()(((()(())()))((()()())((()(())((()))(()()()()()))())((()()(((()((()))))(((())()(()())()(()((())(()()()(())())))))(()(()(((()(()))(())()()())())))()(()))((((())(()()((()()(()))(()()))((()(()((()))((())))())(((()(()()()))(())()))()))()())()())(((()(()))))))((()))()(())(())())(((((()())))()()((()())(((()(())()()())(()())(()))))((())))()))((())(((()()())))((()))))()())()))((((()))))))))()(((((()((())))))(((()())))()(())))(((())((()))())())()()((()((()()()()()(()))()))))(((((()()()())))(())()())())(()(())))(()()((())))())()))((((()))()(())))))((()(())(((((()(()(()(()(()())((())))()(()()(()(()))()(((())))()()()()(())((())()())))()))())()()())((((((()(()))((()()))))))(()()())))()))()()()(((()())()()(())())))(((()(((())((())(()((()))(((()((()))()()))((()))())))))(()()((()))(((((())))(())()()))()(())))()))())(())())))))(()()()()()()))))()()()()(())()))((()((()))())(()()(()(()(()(()))())(()(()()()))))())((())(((()))((()()))))(()(()())))))))())(((()())((((()(((()()((((())()()(())()((((())()(()((((((((()())(()))()(((())(()(())()()(()())()((()(()))()(())))((())(()))))()()()))(()))))))))())))((((()())((()())))((())())())(((((()(()())(())()(()))())))())()()))()))))((((((((())))))())())((((())())(())()((((())(())))(())((()())(()()(((())(()(()(())())(()))(())()))(()())(((()((((())))(((((((())))))()))()(((()))()((((()()(((()())))()))()())())()((()))(((())(((()((())())())())())(((()))(())))()()((((()()())())((()))((()((()(()(())))))(())))(()((()))(((()())((())(((())((()(())())()())(()())())((())(()()()(()())()(()))()))))())(()()))))))((()))(((()()((())()((()))))()()()())())(())()(((()((((())()(())()(())))()())())(())(((()()))((()(()))))))))))()()((((()))))))()(())())((()()(()))))()()()()))()))()())((()((())))()(((()(()))(()(()())))()))()))())))((())(()))()()(((())(((((())(())))(()))()(((()))()(((())()(((()())((((()((((()))))(()))((((()((()()(()))()))(((()((()))())))((())())())((()()(((())))((()))))((()))))(())())()((((()(()(()))()()(()))(()))((((()))(()())(())(()((()))())()))((()(())()))))))()(())((((()(((())((()((()))))()()()(()()()((())))())()))))(())))((())((())))()()()))()((((()(())((()())))((()))(()()()(())(()())((()))))(()(()))((()))((()))())()()(()()()(()((((((()()()(())))))())((()())))()))))))(()(()()(()(()()(((()()()())(((())(()))))()))))(((()))()((())()(()((())))))))()))(((()()((((())()(()(()))(((()((((()(()))(())(((()(((()()()())))()))())()()()())((()()))(()))))(()((()))()())(()))()))((((())()()(((((()()(()()(())()(((()))(()())()))())(((())(())(())((())(()(()(()((()((((()))())()())((()(()()()((()())((()())))))()()))))))))()()())))))()(())))))()))(((()()()((())))))))((()(()())(())(()))))((())()(()())))))()()())))()))((())(())))))))(((((((()(()()()())(((()()())))()))((()())(()((()((()))))((())))())(()()()()())))()())(())())(()))()()(())()((((((()())(((()))(((((()()(()()))()(())(()(()((((((((())())())((()())()()()())()))((((())()(()))(()))()))))(((()))())()))))(())(()))))())))(((((()()((((())(())))()(((()(((())))()(()(()((((())(()((()((()(()((()((()(((())))()()())((((()()(((())()((((())()((()((()())))))))))))(()()(((()(())()((()())((()((((()(()((((())((()))(()(()))()(((())(((())))))))(())()(())))())()))()())((()()())((()(())()))())()))())())(()()()()()(()(()()(()()))()()()(()()()()())((((((()(()(((()(())(((((())()()())))()))()()(())))))))((()(()))(()((())))()(((())()())(((()))()())))())(((()())())(()()())(())))()())(())())(((())))(()((()(())(((()())))))))(((((())()()((())())(()())())((((()(()))(())(((()())(((((((())))()(())()(()())()))()()()()())))))(()())))()))())(()(()))(()()(()))()()()()()(()((((()))))()(())))())()))())((())(((()))))()))((()(((()))))()(((((())(((()()((()))()))((()))))(()))())()()(()))(((())(()(())((()()())(((()))))(()(()()((())()(()((()())((((())))(()()(()()()))))))((()()(()))))()(())(((((()()))))())()))(((((()((()())(((()()))))()())())((()()))((((()))))()))()(()((())(())(())())()))())())()))())()))(((((()(())))((()()())()))(())(())))))(())(())))((()))()())())())))(()))(((()(()((()))(()(()))))(()(())((()())((()())))((((())))))()))))((()(()()((((()((()())(((())(())))(())))))()())()())()(()(())())()))))((((()())()))(((()())(())()(()(((())))))(()))))())((()())))(())(())(()((()())(()()()()))(())(())))()())(())()(()(())(((((((()))))((()))())()((()()))()(())())(())(((()()))(())((()()(()()())))(()(((())()))(((()()()(()(((()))))))()(()((()))()))))(())((()))))((((((()))(()((()(())))()())(())()))))))))))()((()))(())))(()())((()))))())))())()()((()(()))))()()))))))())()))(((())))(()))(()(((())(()())))())(((())))(((())()((())((((((())(((())())))()())()))())))()))(())(()()(())()(((()))))))()))((())())(()((()()())(()))()((()())()))((((())))(())))())()))(())(()))))()()((())(()(()))()))))))))(())))()((()()))((())()))))((())((((((((())())(()(()()((()(()()()(()()((((())()((()(())))())(())))((()((())()))))()())((()()(((()(((()))())))())))()())()(((())(())))))(((((()()(()(()))))()()))(()()))(()((())(())())))(((())()))())(()((())))(((((()((()()()(()()((((((()()()(()()())(()(()))(()))()((()))(()))))((())()())((())))(((((()())()(((()(())))((((()((()(((()))((((((((()))()))((())))()))(())))()()())((()(()())(((()())((((()()()))()))))())()()(()(())(()()(()()()()()(((((()())()))(()))))()()))))(())))(())))())()))((())())(())())((()())))(((()()()(()))(()))()((()))()((((()((()()())((()(()((())())))))((((((())()()()()((())))())((()()()(()))(()))))())()()()(((((((((()))))())()((()(()(()))()())((())))(()((()())))())()(())())))(())((()))()()(((())(()((()))((((((()()(()(()(()))))))()()())()()())))())())))))((())))(()))))())(()((((()))))())())()((()((()(())))(()()(()()((((())))()()(()(()))))())))((()(())))))))())))(((())))))))())()))())((((((()))())())()))()()((((()))))((((()))())(()(()()(())()))))())())()(()()())())))))()())))((())(()(()(()(())))())()((())((()())((()((())))()(()()))))()()())((()(()()(()()()())()()(((()))))((()()(((())(())))(())(((()(()(((())))()(()(()((())(()))(())()))(())()))((((()(()(())())))()))())((())((((()())((())())))()))()(()))(()()(()())())()())())))((((())()()())()))((()(((()((()(((()()((((()((()()(()()(()()))(()())()()()()))(()))()(()())()()(()()((((()))))())(()(((((()))(()()(())())(())()()))())))((())()(())((()()()()()(((()))())())()((()(()((((((()(((())()))()))(())(((())((()()((()())(((()()())((())())(())))))))))()((()))())(()()))(((()())()((()((()))()(()()))((())()()))()()(((())((())))(())))()((()()))((())))())))(()))((()())((((()(()((()((()()(()))))))))()))()))))))(()))(((((())()(())((())(()))()((((()))(())(()())()))()()())((()()(((()()))(())()(()())(()))))(())((((())(()))()))(((((((()((((((((((()(()(())(((()()(())()()()((())(()))())()))((((()())))()))((()(((((())(())))())()(())()))(())()()()()()))))()(()()(()())))))((()))()(())))())()((((()())))()))(((())((()(()(()))((()(())((()(())(((()((()(((()(()))(())))())()))((()(())())))((((()((())()(((()(()(()())))()()()((()(()))())))((()((()(())(((((((()()((())(((((()))))(((()))))()()(())(((())(((()()(()()(()())(()(()(((())((((()((((()()(())((((()()(((())(())(((()()()()()(((())(()))))(())()))(((()((()(()()))()()((()))())((()))(()()()(((((())((((((()(((()))(((()))((((((()((((())))))((()))()))()())))(((()()((((()(()))))(()())((())))((((()))()())))((())))))()()()))()))((()())))))((()))))())((())()())((()()()))(()())()())())))()()()()())()))(())))))))(((((()()((()(((()()()))((((((()(())(((()()))(()()()())((())((())()())((()))((((((()))(())))()()(((()((()))())())()(())()(((()(())))))(()))()()()))()()()))((())()())(())((())())(()))))((()))(()(()(((()))(()))()())((()((((()()()))(((())(()())((()))))()())))((((()))((()))((()((()()))()((())))()(((()(())))()(()()()(((()()))())))())((())))(()))(((()((((())))())))()()(((((((())())()((()())(()(()(()))(()()())((())((()((((())(()(()(())(()()(((((())(())()()())())))(()(())())()))))((((()((()()(()))(()()))())(()()())))))())(()((((()()((())))(())))))(())))()))(((()))(())()))())()(()))(()())(()(((())()()((()()())())(((())))()()))())((())))()())))))()))(()((()((())))))(((((()()()))()())(())))()())()()((())())(())()))(()()()))(((()))))((((((()))())()()()()()()(((()(()())(()))(()((((()()((())((())))((()(()(()))()(()))()())))(()))()((())(()))())((((()))()()(()((()())(((((()))()()(()((())((()((()()(()((())()()()(()(()())(()())(()))()))()))))()()(()()()(()(((()()((((()))(()))))()()(())))(()(()())))((())(()))(()((()))()())))())))()))(())))))((((()()())))(((())())())))((()())(()(((()()()))(())))((()())()())))(()((()((()())())(((()())))(())(()()()()())())())((((()()(()()((((()))))))))()(())(()()(()(()((()(()()(((()((((((())())))())()())())))))((())(((((()()(()())())()))((()))((())())())()))()())(())())())))((((()((())((()())()))()))((())(()((((((()()())())(((((())()))())()))((((()()(()(()()()))()())))())(())(((()())((((((((((()((()()())()()()((()((()(((()(()()())())((((())()())((())())()))()()))(((()()()(())(()()((()()())(((()(()(((())))()((()))(()(())))((())))((())(((()(())))()(())))(((()((()(())))(())(()((())))))()()())()()))(()(()))(())))))()()()())()(()))((((()()))()()())))()(()(((()(()())((())((())(())(()))(((()((()())((())(()))()()))))))))(()()())()())(((())))()(())()()(())()(((()))))))(((((()()))(()())()()(((()))(()(()))(())))())()(()(()))(((())((((()()())(()(((()(((()()(((()()((()()(())))))()()()(((())()()(()()(((()(()))()()(((()()()))(()())()()))))))))))()))())))()())))((((()((()((((()))()(((())(()()((()((())))))()))()((()())(())((((((()))(((()(())))())((())())((((()(()))))))))(((((((((()))))))((((()(()(((()()))()))))))())))))(((((()(())))))()(()()())()()(())()(()(((()(())())()())((()(())))))())()))((())((()(()()(((()())((())((()(()(()()(()()(()))))(()()())((((()())()))(()))))()(()((())()(((()(()()(()()(())((((())(()))()()())))))()()((()()()))()((()(()()))())()))()(((())(()))(()())(()()))(((((())((())))())()(())())))())())(((())))(((()(())((())((()((((((()(()()()))(())))(()())((((())((()()))()((())()(((()())()())))()(((())((((()())))()()()()))()()(()(()(((())((()())(()))))(()())()()())((())))())()(((())))()())()()((()()(((((()())()(()(()(((()))()))()))())))()()()(())((()(())(((())))(())((((()(()()(((())(()())())(())))(()())()(())))((()()())(((((())(()((((((()))))))))(()()))(()((((())())(((())()()()()(()()()(()()((()(((()(()(()()(())())()))(()))()))()()(((()()))((()))(((())(())((()))())(((())((()))((((((((()(())))()))))(((())))((()))((())))()()()()(((()())))(((((()(()(((((((()())))(()()()((())()))())((())()()()))()))))))()()((()()((())(()()(())())))(()))))()(((((()())()((())()))))()(())()(()()))(()(()))()))()((())()()()))()()))()())((()))(())))())))((((()())))(()()))()))()(()()))((()))))(((((())))())()(()))(())))(()(()))()())()((()()(()()())))((((()()((())))())))(()(((())))()())(())(((()(()))))((()())())()))))((()((((())(())())))()(()(((((()()(()()(((((()(())))())(()())())()((((()(()(()()))))))(((()))((())))(()()()(()()))((()((())))()))((((())(((()(()()))()())()))(())))(((()(()())())))(())))))()()())))))((((()((((()))()(())(((((()((()))())(()()(()))))((((()(())()))()()(())())())))()(((())())()))))(((()()))(()())(((((()(((())((())((((())((((())(()()((())()()(())((((())())(((()()))())(((())((((()())(((()))()())))))()((())(((())))(()))())()))(()(()()(()(())(()()()((((()())((())((()())))(()()))()()()))())()))())))))))()(((()(()(((()((((()()())()()))()(())(()()))())(()((()))((((()(()()()((((()))((())(((((())()))((((((()(())())()))(((()((()(()))(()()(()(()()((())))((()(()))()((()))))()((((((((()(())(()()))(()()(()())(()))((()))(((((()())(()(()()())))())((()(())()(((()(((((((()(())(()()(())())(((((())())((())())())(((((()())))))((()((()))(()())((((()(()))))))())(())()()()))()))()))((())))()(()))(()(()()()))(()((()()(())(()())))))(())()))()())))))(()((())())(())(((()()))(()(())(()))))(()()()))))())(()(())((()))))))((()())(((())((((((((((()))()))))()((((())())(())))(((()()()))))((())((())))()((((()())(((())()(())()()(())()((()()(())((()))(()))))()((()))((())))(())()))()(((()()()())())()(()))())((())((()()()))(())))))(()((())))())((())()((()))()(()((()()))))((()(()))))()())))()()(()())())()()())(())((())((())((()((((())((((()())))(((())))))()(())))()()(((()())(((((()()))(()())((())(())))()))()()((((()))())()(((()()())))))(()(()))(())(())(())()())()())())(())(()())()()()()(())))))))()()()((((()()(()))(()(()()))(())(((())(()))()((((((()((((())((())))())()(((()((()()))())())()()(()))()((()()())()((((((((())))))()(((()))(())((((()))((()()())))()())((()))()(())(((()())(())((((()()((((()()((())()))(())))))(((()))((())()))))()())))(()(()))))()(())(()()(()(()(((()((((()(()()(((((((((()((()()(())((((())))))(((((())())((()(((()(()))))(((())((()))((((()(()())(()))())())(()))))((()((())()(()()(((())())))))())))((((((()(((())))))())(()((()))(()((()()))))((()(()())())((())((()()))())()))()())())(())()))(())(())((())(())()))((()((()))(())(((()))))()(())))(((()()(()))())()())))()))()()))(()()())()((((()())))))()(((())()(())))(()((((()())()(()((()))(()))))(((((())((())(((())()))()((()()))))))()((()())()))))))())()))()))))))()(())((()()())((((()()))())((()())))())))((()((())((()()()))((()))((()((())()(())()()(()()((())))())))(()))))()(((((())((())))()()())(()((((()()(())()))(())((((())))(()()))))(((())())(((()()(()(()))))()((())((()((())(()(()(()((()())(()(((()()(())))()(()()()))()())())))((()()))))))()((()(())))()))((()())())(()((()()()))()()()))(())))()((()(()(())(((()()))()))()())(()((()))((()(()(()())())()))(()))()(((()()()()()()(((()(((((((()()()))(())()())((()(((()(()()((()(((()(()))()()())())()((()(()(())())()()(()()())()()()()()()()()())((())(((()((()(()()(((()()((((()))()(()()()))))(()))())(((((()))((())()))(())(()()()))(())))())((()(()(()))(()())))()())))()()))(()))))(()(())))(()()((()()((()(())()()))()(((())((())())((()))))(()(()()(((())))())()(((()(()((())(())))()()()(()())))))())())(())))()(()())((()()()))))))(())))(((()()))(()()()(((()()()())(((((()())))()(()()())()()((((((()()((((((()(())(()))(()()()(()))))(())(())())()(((()())()))((())()(()))((()()))))()(())))()())))()()))())((()))))()))(()(((()()()())))))())(()()())))())((())()))())()()((())())))(()(()()(()()()()))())((((()))()))(())))())()((((()))(())(((()(())))(()()((((())((())(()))))))))())))(((())((()))))))((()))(())())()(())()(())())))()(()(((()(())(()()()(()()(((()()(()()((())))()())(())()))(()))()())))(()()))()(()()(()((())(()((()((()()(()(()))()((())((((()))))()))())(((())(()())))(()(()()()()(())((())))()((())))))))()))()((((())(())(())()()())())())))))(()(()((())()))()))((()())))()))))(())())()))()((((()())))))(())((((())(((((((((()()((()))(()((()(())))((((()(()(())()((()(()())(((()())()((((()()))()))())(()())()(())())((()))()()()))((())(())((()))()))(()((()))())((((((((()(()()))))())(((())()(((()(()())((())((()())()(((()))())()))(((()))()((())))))(()()((())))(())(((())(((()))(((()(()()(())()(((())())))()))((()(((())())()))))(()))())))((()()(()())))())))()))((()()())((()((()()()(((()())()((()()())(())((()))(((())))((((((((())()()((((())()()(((((((((()(((())()((()))(()))))))())())()(((()()(()()))))()))))(())))))))()))()()))(((()))()(((()))))))()()(()(()()))(()))((((())()))()))(())))((()))(())(()))))))((()())((())(()()))((()()())()))())((()))((((())(()(())((())(((((((()(((()()(())))())(()(()()()())(()())()(()))((()))))()))((())()))))))))())((()))()()())())))))))())()()()))()((((())()(())()(()()()()(()(())()((()())(()()())()))))((((((()(((())((()()))((()())((())((())()(()(((((((())()))(())((()()(())()()(()())))())(()))()(()()((((()()(()))()()))()((())))((()((()(())((())))))((()())((((()(()())()()))(((((())))()()(())((((((()))))(()(((()())())))((((()(()())((()))(()(()())))(()(()(())(((()))())()())))((()())))(())(()()()(()((()))))))(())()))(()()(()))(()()())))((()()()))(()))))((()()))))())())()()()(()())())(()))()((())()((())(()((()()()(()()()((((()))()(())()(())(())(()()))(()))(()(())))(()(((()()(())(((((((((())())))((((((()))()((((())(()))((((())()()(())(())))))())()())(()()(()())))(()(())((()((()((((((((()))))((())((()))()()))())((()()(((())))()())(()))((())(((()((()()(((())()(()((((((()())((()()(((((())((()(()())()(())()(()))())(()()())))((()))()(())))(())(())(()())()()))()((()((())(())(())())((()())(()))(((((()))()())(()()(())((((()(()())))))()()(((()())((())()))(())))((()()()()())()((()()))(()()())(())(((())((())()))())()((()()))((())((()(((()((((()(()())(())()()(((())))))()))(((((()(()))()((()((((()(((())()()()))((()()()()((((((()(()))(()()()((()(()(()(()))))())())((((()())()())))))((()(()()(()()()())(((())(())())(((()()(())(())())))((((()((()))()((())()))))())()((()))))))((()((()((((())(()()())())()(()(())())()))(())())())))))()((()()()(())))()(((()())()())(((())((((((()())((()((()((()(((((()))()(((((()((()(())))((()))()())))((()()())()((()())((()((((()(()()()))((()()())))())()((())())(()((())((()))()()())(((((())((())()(()()((()((()()(((((()()()())()((()((()))()))(())()()((()((())(((((()))(()())))(())(())))))))()()))())()((((()()(()((()()()())())(((()(((())()))())()())())()))))()(()()((((())())))(())()((()())(()))()((()())((())()()(()))))))())(((()()))(())()(((((((())((((()()()((())((()()((()(()(())))))()((())())))(()))(())(()())(()))()()(()()))())()(((())(())))))))()((()()))(()(()))(()(()()))())()((())())()))(((()))()(())(((()(()))())()))(())()(()()()()(()))))((())()((())())))())(())(()(()(()())))))())(())(()()()(())())()()))(())(()(()))(((()))()))(()())(()(()()))(()())))(((((()(()((((()()))))())()()(())))((((())())(())())))()(())))(()(()()((())()(((()))(((((()))))(()(()(((((())((()())(((())())()))))))()()))()))())()))())())(()())())))()(((()())(()()())))(((()())))(()())))((((((())))((()(((()())))())((())())(())((((()()((()((()()((((((())))()())))()()))()(()((()(())((((()))))(()))()(((((()(()()((()())))()())((())())(((((())()(()(((())(((())(()((()))(()))))((()())))(()((()(((())()))(((()(()()(())))()(()((((()))(((())(()()(()()()()()(((((((((()()()()())(()))(((((()(()(()))())())())))))()()))(((((()((((((((()(((())()(())))(((()()())))())()((()((()()))((()((())))()(()))())())(())(())())))(())))))()())((())(())))()(((())()(()))))(()((()))((((()()(())())()()))()())(())))(((()(()())))())))))))(((())()())())))((()()((()))(())()()))(()())()(())()))())))))((((()(((((()(()))((())()(()())(()(()))))(((()())())))()))))()()((())(())))((((())()()((()()())())())())())()))((()((()))())())())())()((((()()()()(())(((((()))))((()()())((((()(()))(()(()(((())((((()(()))()()((())((()))())))(())))()())())((()))((((((())))(((()()())()))))(())())(())(()(())()((())())(()))()())(()))))(()(()((((()())))())(())((()(())))))))((())))()()()(()())))(()()()))()))()()(((())))()(()(())()(((())((())()())))))())(())))))((()(()()(()()((()(((()()))))))))))))((()()()()())())()(()(()(((())())())((()()(())((()((()))(()()()(((((()()())(()())))))()(((((())((()))((())(()))))()))()())()))()()))))())()()()))))()))(((((((()))(((())(()((())))(()))())()()(()())()((()))()))))())(())((((())())(())))))(())()()((()())()(())()()))()))(()()()(()((((((()()))))()(()((())())))())))))))(((()(()())(((()))()())(()((()()()()()(((())((()()()())(()))((()()()))((()))())(())()()())))(())(())((((((()))((()(())((())))))(())(()((((()))))())()(()(()())))((()()((()(()((((((()(())))))(())()(()(()))(()())))()))()()(((())()(()((()))()(((((((())(()((()))))(())(()))(((()))(((((()(())))()))())((()())())()(((((()((())((((((((()))(()))()(((()()(((()(())(((((())()((()(()((()()(()))(()(((()))())()(())()((((()())()((((((((()))((()()()((()())((()()))((()())())(()())()((()((((())())()())))()(())))((()))))))((()())()())(()(()()())()))()((((()()(())((()()()()((((())(()))()((()(()())(()(()()(()(())))((()))())()))())())(((()()(()()))(())))(((((((())()(()))())()))()(((((())(((()(((())())())))()((())(()(()))()((()))(()()))(((()())(((()(()(())(((((()(()))()))()(()(((((()))))())((()((())))()))))((((()(()))()))(())())))))())()()))))((()))())()(()())(())())()()))))()(()))(((()))()(((()()(())()()())()(((()(()((((((()())()((((((()())(()(()((()(()(()(()))(()())((()))(()()()))()))))))(()))))))))))()()(()())()))((()(((()))((()))()()()(()(())))((()(()()((())(())())()))((())))(())((()))()))))()()()(((()())())())(()())))()())())))(()()))()())((()(()())()()(((()))((()())(())(((((()))())()(())()())))))()()(()))))((())()(()()())((((((())))()))(()((()()))()()()()))))))))(()))))((((((()())()())(((()())((())))()(())()(()()()())))))(((())()()())()((()()(()()(()(()))())))))()(()()(((()((()())()())))())(())(())((())))((((((((((((()))()))(()((((((()(()()))(())()((())(()))(((()()))((()())()()))))))(())())(((()(()()((()())())))())(()(()))(()((())(()(()(((()(()))())(()()((()(()()()()))(()())()()()(()(()()())())))(()()(()))))()(()((()))()()()()()(()))()(()))((()(()()(()()()(()(()))((())())))()))(()()()()())(((((()))(()))))(()))(()))()())()()())((())()()(())()))())((((()(()()())))(()(()())())())((((()))())(()()(())(((())()(()(()(())()))())())(((())))()()())))((())()()()(()()((()())())))(())((()((()()(())(((())(())))()()(((((((((())))))(())((())())())())()()))))()())())(()()()))))())))()()((()(())(()()((()(((()()())((()))))(())(()(()))(())()))()(((())()(())()()(((())()))))(()())((())(((())())((())((())()))())((()))()((())((((()((()())()))())(())((((())))))(()(((())()())())(()())()()()(()))))(()())()(())((()(()())()(()()))(())))))(((()()()))))(()))))))(()()))(()()((()()()((())))())))()(()(())(())())))))(()(()(((()))()())()())(())))(()((()())()()())))(((())))())(()((()((()()()())((()((())())(())((())((()()(()(()))))()))(()()))()(())()))()()(()))((())()(()(()(((()())))()(()()((()))((((())(((((()(((())))()(((()(())()()()())((())(((((()))((())()(()()(((())()))())())))(((()(())(()())(())()())))()())()))())())(())(())))))(((()()()()))())()(()(()(())((()((((()))(()(()))()(()()(((()(()(((()()()(())())(())())))(()()()())))(())()())(((()())())()()()((())())(()))))(((())(()(()((())()()()()()()(()(()))(()())(()())()())((())(()))))())(()(()()))())(((((()())()))(()())))()())))(()())(()))())(()())())))(())(((((((()))))(()(())()()(()())((()()((()())()((())))((((())()))()())()(()()()))())())(((())))())(())))()()(()()))))((())))()(()((((())()()(()(((()))())))))()()(((())))))())))((()()))())(((()(((()(()))))((())())())()()))))))))))))))((())((((())((()(())())())))))()())()(()())((())()()())()(((()((()())())((())())()()(((()(()((()(((((()))))(()))()))(()(()((((((())()()()(()()(((())())())(()(((((((())()(()(()())())(()((()))))))((()()(())))(()()()()()((()()(()))(((()(())()()()()))())())()()))(((((((((()))()))()))(((()))(())(()(()(()))(())))((()))()())(()((())))())()(()))((()()(()()))))()(((())))(((((()((((()))())())((()))(()))()(((())()))(((((()()())((()))((()()())()()))()(())()))))(()(((()(())())))((()(())(()()())())))(((())(()())()())()()((()())(())(((()))))(()()())()(()(())))))()((((()()()(())()(()(()))((()()(())))()())))))((((()())()(()))))))))()())))(()()))))(())(()))))(())))))(()(()()())()(()((()((()()()))((())(())((()())())(()))((()(((((()()(((())())))()((((()()()()(())(()()()(())))((()())))())))(()))(()()(()()()))(()()()(()(((((()((())((())((()()()()()(((()()(())))(()())))(()()((((()()))))(())(()(())()())(((()((()((()))()))((()())))(()())(((()((()((()())))(()()(((()))())((())))))))))()()()))(((()()()()((())(()())(((()(()((((((())))))()((()((()))))())(())())()())((())()()(()()()(((((())(((((()())))()(())((()(())((())(())()))))(((((((()(())())((((((((((((((())()())((()))))(()())))(()((())()()((((((()))()))()(())()(()))()(())(()))))()(()))()(()()((()(((()()))(()))()((((())((()(((()()))))(()))))())())(()()))(())((())())))()(()(())(()(())()())))))(()))(()(((())(())))()))(((()(()()(()()()(()(((())(()()(()()()))((()())))))(()((()())((()(((((((()())((((()((()((())())()))())(()()))(()())()(((()))((())()())())((((((())()))((())())()())())))))()(()(()))(()((()((()()(((())((((()((()))()(((())()(()))()()(())((()(((((()(())()))))())(())))(())))))))((()((())())(())())(())(()()))()()()()())())))))()()(()((((((()()()(())))))()())())(()))((()))()))))())((()()())((((()))())()((()))))())((((()())()((()))))))(()(())()))))()))(()(((())())((()())))))(()(())))()(((())(())(((())()()()())()((())(()()())((())())(((()))))((((())()))())))()))()(((())))))(((((()(())())))((())()))((())())))))((()()(()()(()(((())()()))(()))(()(())()())))()))))()())))))((()(())()((()))))((((((()(())))(((()))(((())()())()(()())(()()))(()))()(((())())(())(((())()()()))()()(((()(()(()((()()(()((()()()((()(()(()()())()))))))))))))))()(((()((()))()())()())(())))((())(()(()()(((((()))())()(())()(())()())(())((()(((((()()))()))())))((()((((((())()())())))((()(((()))()())(())())()()((()(())()()(()((()))()()(())(()((()()(((()))())()((((()()()())())((()()()))))(()))))((()(((()()()))))()(()((((((()(()))(()))()))(((()(())(()())(())()(((()))()())((()()((())()))(()())())(())(())))((())()((()()((((()(())((())()()(((()(((()())()()()())()(())()))())()((())()((())())())(())()()()((()())((()(()((((()))())()()()))(())())(()((()()((()))((())())())()())))))))((())(()))))(()(((()()()()()()(()(()))())()))((()((()())(()()())))()))((()))))()((())()((()(()(()(()((()((()())()()()((())))))(()(())))()))()))))))()(())()))()()(()))((((())))())()()))()())(()())((((((()((()())(())(())(())))(()()()()()()()(((())()(()()()()))()(((((()())))((()((()(()(()())())))(()()))))(((())((()((())))())((((())()())))))()))()(()))))()(((()(())))))))((((((((()((((()((()))))()())(()))()()(())((()))())(()(())))(())(()())()()()()())))()))()))())))()((((((()))((()((())()())))))(()(())((()(((())(())())))((()))())(((()(((()())(((())(((((()(())))()))(((()()())()(()))(())))()))()()())())(()))(((((())()))(()())))((()((()((())))()((()()(()(()))))(())))))))())(((()())(((((()))(()())((()()(()))())(()()())))((()())())))))(()))()()(())))(()(((())()))()()())((())((())))))(()())))(())((()())))(()()())()(()(()()((()))((((()((()()))((()(())()()())()()()(()))(())())((((())(()()(()()(()))((()))(()((()(((()))())())()))(())())(((())((((()()))(()())(((()(((((())()(((()))()()())((()()))))()()((()((()()((())(((()((((((())(())()()((((())(()()(((((()((()))))))()()))())))()((((())))(((())()(())(())))()()((()())())((()()()())((()()(())))))((()()))))()))))))((())(((()))()))()()())())))()))))(()((((((())((()(())()(((()())))((((())()())(())()))()(()))()(()))))(()(()(())))))((()(()()()((()))()))(())))((((()(())()((()()))()))()))()))()()))))()))((())()(())))(()(()))((())))))))()))((()(())))((())()))()()(((()((()((()()()()))(()))())()(())(()))()((())))(((((()(())((()))((())(())))((()((())()((()((()))(()(()())()()())))(()((()())()())))((()()()(((((()())((()()(()(((()(())(())(()((()(()))()(()()()()())((()(((())))((()(()))(((())))(()))(()(())((())()()()())((())))))()()())())(()))))(()(())((())))()))())))((())()()(((())())()(()()()()(())))()(()(())())(()()()()((()())(()(())))())(()()))())())(()())(())(())())))())()(()())())())(()(()()())(()(((())))((())))())))))()()()))())(((())))((())(((((((()(((())())(()()(()()))(((()()((((((())(()))((((((())((()((()(((()(()()(())(()(()(((((()))((()())()(())((())(())(()())(())))))))))()((())))))))()()(()(()()(((()(((((((((()()(())()(()())))))))))()())(((())(())))((()())(()))))(((()((()))()))((())((()(())))))())(()((()((())(()()))()()(())(()(())))()()())())))(())()))()(()(()())))())(()))()()((())))(()()())))()()))))((()(()))(()()))(((())))()))))()))()()())((()(()()()(()(((()(()(((())((((()(()()(()(((((()()))))((())))(()()()((()((()(((()))((()(()((()(((()(()))(())))))))((()()()()())))((((())()))))(()())(()))())((()((()()(((()))())((())))()())))))())))()()))())()(((()()()()((()())(())))()))((()(()()()((()()()))))((((()(())(((())(()))((()(()()))()()())))))(()())())(()())))()()()())()((()((())())()))())((()(()))((()())))((())))))()())(()(((()()((())((()())()())))(())(()(())))(()))))(()()))(())(()()))))))))())))(((()))(((()))))()((((((((())))))((())))())))(())((()()))((())))))(()))))(((())(())(((())()((()())))(((()()())))(((())()(()))(()))((())(())((((()(())))))()()(((())())()((((())()()(()((())))(()()))))()()(()(((())()(()))(()()))))()((()(((()()(())()))))))())))))()))((()((())(((())(((())())()()()(()))((()())()()))))()))())(())()()(())))))))()()()(((())))((((()())()((()))((()(())())()(()())()(())((())((((()()((()()()())())))(()())(())(((())()((()(()()((()(()(((((((())))(()(((()))()(()))((()(((()))(()())))))((()())))))()((()))()())(()()(()))()))())()((()))((())()()()())(())(()((())))))()())()((()))((((()))())((()(())()()(()()()((())()()()())()()())(())))((((((((((()(((()()()(((())())()))()(())(((((((()(()(((()()((()))))()((())(((()((()))()(())))))))()())(()()())((()())(((((()(()(()((()((((((()()()(())))()()(())(())()(((((())()((((()((()(())))))))((((((())()()))(()()())()((())(()((()())()()()))(()(())(()(((()())))()()))(())))))((()(((())(()))((((()))()(()(((()(()(((()())(((()))((()(())))))((())(()))(()(()))())((((()((()(())()(()))()(()))((())()(())(())()())((()))())((((()()))))())()())()))(((())(()))()((()())((()()()(())())()))))())())())(((()))))(())(()(())))))())()((()((()()(()((()()))((((()())(())()))()))))))))()()(()()(())))()()((()((())())(((())()(()())())(((()((())(())))()))()))))(())())()())))()(((()))())(((())((())()))(((()))))(()))))())))))((()()(()()(()))())()))((((()()((()))))))())()))()()))()())((())(((()(((((((()))()(((()()))))(()(()(((((())())()((()(((((())(()()()))((()(((((()()()(((((()))())((()(()(()))()))(()((())))(()()))()())(())))()))((()))))()(()()())()())(()))(())()))()(()()))((()(()))()(())))((()))(((((()())))()(()((()((()))()())()())()())))()()(((())())())(()(((((((((()()()(())))))((())(()())((()()))()))(())())))))())()(((()))(()))))((((()))()(())()((((()((()((((((())((())()((())()))(())))()()(()()))(())()))))((()()()(())))(()((())))()()))())((((()(((((())()(()(()((())))))((((((((()))(()))))))(())()()(()())()())())(()))())((()((()(())()((()())()()))()()()())(()(())(((((())())(()))())()(((((((()()()(())(())((()))))()()))()(())()()((())(((())((((((((()))((((()(((()())(()())())))()))()))()())())())())()()((())))))))(()))((((()()))())()()))()(((((()())(()(()(()()()(()(()))))(()(()())()()())()(()))()))()((()())(())()()))((())(((()()((()))(()))))())())((()))(()()))(()()()))(()(())((()()()((()(((()()(()()()((()))))())))((()(((((())()()))())((((((()(())()(())()()())()()()())(((((()((((((())(()))())()(()()((((()()((((()())()((())))()())))()()()()(()((()))))(())))))((((()()()()))((((()))((((()))())()()()((()(()(()((((())())))))()))(())))()))))((()())))((())((())(())(()(()(((()(()())(()())))())))((()))((()((()()())((()()()(())))(()((())()()()(()(()())())((()()()())))()(())()())))((((()())))(())())))(((()()()(()((())()()(((()((((((())())()())(((())()()))(())((()()))((())()))((((()()()())())))()((())()()()(()(()(()))(((((()()(((()(())(())(()(())(())()())))((((()())(()((())()()))()()())(()))))))))()(()()))((())()(()(())()))))((())(()(())(()(()))))(()))((()((()())(()()())(())))(()(())()(((())()((()(()((((()()())((()(())((())())((()())(((((()))()()))))())()())())))((((()((())))()()()()(()(((()(()()))))((()((()))()))))(()()((()))(())()(((((())))()))(())()((()()()()))))))(()))(((())()()()()))(()(()))))))))))())()(((((((()()))(())((())()(())()()(()))(()())))()())))()()(()(())()))())()()()))))(((())()))()()(()()))())()(((((((()(((())())(()))(()())((()(()(((()(((()((((())(())(((()()())()(((()()())()())((())())()((()))((())))))()(((()())()())())))()())))(((((()()))()())((()((())(())()()((()))))))(((()()))()()())()())()))()))()))))()((()))))(()(()((()))))()((())))()((())(()())()()))(((()(((())()(())()))(()()())))(()))())))(((()))))(((((((()((()()))))))))((()())(()())(()()))((()(()(()())(()((()(()((())()))))(()))(((()(())(((()()))(()()()(()())))())(((())()(((())((())())((()))())((()()()()((((()(())()((()(((())))(()()(()()(()()(()(())(()()))(()()()))()()))(((()())))((())(()()()()()()()()()()))(((()()))((()()((())))((()(()((((())())(()()()()))(())(())()())(()))((())(((()())(()(()()))())))())))((((()())(()()(())))((()))()())((((((()(((((())(((((())))())((())(())((((()())(()()()()(()()((()()(((()()())((()((()(()(()()())())))()((()()())(((()(()((((())()))((()(())))(()()())(())()(((()()(())(())((((()())()()(((()))))(()(((())(()(((()()()(()))))))())(())()()))()())(((())(()))(()(()))()(())()))(()(()()))((((()))((())()(((()(()(((())()(()()()()(((()()(()())(())((()()())))(((()))(((()()))())()))())((((()((()))(()))()())))())))())()())((((()((()))())()(())(()))(())()))))()(()(((((((()())))((())(()((()(()(())()))()(()((()(())(())))()((((()()((())()()()((((((())))((((()()((()))((())))))(((()())(()((())()()(())()))(()(()))()))))((()()((()(((())(((()()()))(()()))(()((()((()()(((()((()))())))(()(())(())))()(())()))(((()()()))()((()(((())))))())())((())(()()((())((())(())))())()(())())(()(()))()(((())(()))())())())((((((()(()(((()()())((()(())(()))()))()()))((()))(((())(()()))))()())(()(((()())(()(())()((())))(())()))))(())()))()()((())))()))(((()(()(((())))(())))()))(((((())())())))()(())(())))(()(())(()))(()()((()(((((())((((())))))()())()))))()))))))))()(())(())())())((()(()())())())()(()(())()()(()))())()))()))))(()()))()))(()())())()(()((()())(()()(((()))()(()()))))()((())()(())(())((()((()()(()())))(((((())()((()))((())))(((()(()(((())(())())()((())(())(()()(()((((((())(()((()((()))((())(())())())()))))(((()(())(())((((()))))(()))))(((()))(((()))))(((()()(((((()())))()())())(()(()))()))))())))())((())))))()(()))())()(())(()()(())))()))())(((((((((()()((((())()))(((((((())()((((()())))))()(()))((())()))())))))()))(())))())()()(())())(()(((()()()())))))())(()(()))())(())()))()())((((()()())((())()()()())()(())()(((())))())())((())((()))())(()))))(())())))()()())(()(()(()()(((())))(()(((())()(((()))(()(((((((((((((()())(((()(()(())())))()())))()))())(()(()))()))((()(()))))))())(()((()()((())(()()((()((())((((())))))))())())))())((()()((()())((()))((((((()((()()()())))()()())(((())))(()()))))))()()(())()))()))((())(()(((()())((()(((((())(()))()(())()())(()()()()(()((()))))((())))))()(((()()())))((()(()())())))))(((())()()(((())(()()))(())())((()))((())()(()(()(((()(()()))(((())()))((())(((())()())(())()())))())())(()(()()(((())()()((((()()()(())()))((()()())())((()(()(()(())()(()((()(((()())()))(())()((()()())(()(()((()())(()((()())))(()(((()))()))(()()))(()))))()()(())()))))())(()())(())((()))())())(()((((((((()((()(((()()))(((())))((((())))))()()((()))))((((()(())(()(()()(())())))())())(()))()))(())(())(()(()))))())())(((()(((()())))(((()(((())())()((()))))()()())()))(()())()((())(((()())))(((()()))(((()(())()()()()())(()))(((()()()))))())(())))(()(())))))))()(()())((()()(()())())(()))()))))()(())((()(((()(())()(()))())))))))()()))()))))())((())))(())())))(()())(())())))))((()))()(((((()(()(((((()()()(())())())())())(()(())))))((((())())))(()(((((())()(()(())())()(()((())((((()()()))())())())()()))()()(()()((((()()(())()(()((())(((()()()())))()(())())(()(())())())))((((()))())()(()(()((((())()())()((()())))(())))()))()(()))((()())()()((((((((((()(()(()))())(())()(()))()))))))(()(()))()((())()(((()())))))))))())))(())()))))()())()))()())))(((()))))((())((())(())((((()()(()())(()(())))())(())((()())(()()))(()(()((()()())())())(()(()))()()()))))()(()((()()))()((((((((())(()))((((())()))())())))()(((())()(())))))()(()(((()())(())()())()))(()))()()((()()))()()())(()()(()(())()))((())))()))))()))((())))()(()))((())()((())))(()()((()())))())((()())()()((())())))()())())()))())(((())()()))(()()))()())((())((()))()()(()(()()(()())((()(((()))()))()((())((())((()((()())))(()()))()())(()))))()()(((())()(((((())))(())(()(()()())))))((((()(((())()())()))((()))(((()))()(()))))()()()())())(())()()()))(())(()()()))(())())))(()(((()()((()))((())))())()(())))()((()()(()))()))(()()()))()))))()()(()()())((()(()())()(((()))))))))()(()))(()())(())((())))()()(()(((((((()(()(()((()())))(((()((()))))((())((()(()))(((((())(()))()())())((((())((()((()()))(((()(()))(((((()()(()())))(((((()())(()))()()()(()())))()((())((((((())((((())(()()()()((()(((((())())(((()((()))()))()(()(()))((((()))())()(()))))))())()))))())((()))))((()((((((())))())))))()())((())(())((()))()(((())(((())()())((())()()()()))))((()))))()((()))))(())())((()(())()((())())(()((()))()(()))())()()())))))()()((())))()()(((())(((())())()(())())))()())()))()()(((()(()())))))((((((()))(((()(())())))))()))())((()(()))))()(()(())(((()()()()))(())(()()())()))(()(((()(()(((((())))((()())())))((()))()()()))))))(()()(())()()))(((()))())))(((())(()))))))))())))())()()))(())()(())(())))))((()())()((())((((()())()((())))(((((((()((()((()(()())()()(((()))))))(((((()((((())((())((())()(((())((())()()))))))))))))))))(()(())())()()((((((()(()))(())()()(()()))((())((()))())()))))()((())))()()(()))(())())))))()((()))()()(())(())))(()()()(((()))())())()(((())))))(())((()))(()(((((()()()))())))(((())())((()(()())(((()((((((((())())(()(())())(()(())(()((()((())))(()(()(()(((((())))()()())()(())((((()())(((()())()())()(())())(((((()())))()()()((())(())))(()()))))(()())()(((())))(()))((()))(((())))(()()())()))()((())()()()(())(())())()()(()))(()())()))()(())))((((()())(()))()))))()((((()()()))((())((()(()())()())))()))((()()()))(()()((())(((()(((((()))()(((()((((()((())(((()()(((())((()()))())((()()()())()()((()((()(((())((()))()))())))(()()((()))()))())))()(()(((())()()()()((()())))()))(())))()((())()()))))()()))))(()))(((())()()))))()))(()()(()()(())((())(()(())()))()))))()(()())((()))))((())()(((()((((())()()()))()))()()(()()((()((()()))())))((()())))))((((()()))(((())((((())(((())()(()()()()))(((()((())(()(())))(())(((()))))()))(())()((((())(((()(())))(((((())())(()()()))(())((()()())()))))()((((()((())))((()((((())()))))))((((())(())(()())()())))))))(()((())()(((((()()()()(()())((()(()()))())()())()(()(((()))))((()()(()()((((())))))))()))(())()()((()(())()))()(()()()))))(((()(((())()(()))()((((()(((()))))(()))()(((()())))())(()())))))(()))())))(()())))))()()()()(())(())))))())))()((())))(()))()()())((()((()()))))(((()))()(()()()((()())))()())()()())))())))))))()()()())((()))(()(()))(())())(())()))))))))((()(((((()())())(((((((((()()(()((()())(()(()(()(()(((()(())())()()()()))()())(((((()()))(()())(())((()))()()())))())))))))()))()))(()())()(((((())())((()(()((((()())))())()()((()))((()())(((()))())()))()))))()(())()(())()())(()((((())))()(()((()(((())())((((())))((())))())))(())))()((((()(())))((((()(()((((()()))))))(())((((())()))((()(())())()))(())()()()((()(())((())()())(())(())))))(()))()))))(((()(()))(()()((())()))))())(())()))()(()))))))))()))()))()((())()()()))(((()((()((())()()))()()((()()(((((())(()(((()())))))(()()(()())())))))()))(())))((()(()((()())()()())))()()))()(()())(()))(((()())))()))))())()())(()(())))()()(()))))()(()))(((()()(())(()))(()))()))(()((((())))()((()))))())())(()((()))())())((()()))((((()(()))))((())(((((())))()((((()))()()(((()()(()()((()())))))((((()(()((()()()(()))())()))())())(()))((((())()()()((()(()(()))(())(()()(((())())())(())))))(((()((((((())(()()()(()(()(((())(()()))()()())()(())())(()(((()(())((()))))))()()())()((((()())(((()()()()())())))()((()())(()(()()()))())())())(()(()))(())(((())((()(((())())(((()())))((((())(()))())))())))))(())()())))(()()))))(((())(((())())))()(()))()(((()))(()()()()(((()())((()()())())())))((()())()(())))))(())))()())((((())(((()))(()(()(())(()()())(())))(()()))()()((()))(()(()(())(((()(()))))))(((())(()()(()(()))()(()))()()()((()(()))(()))))))(((()()()()(()))))(()(((()((()()(()()((()(())())(()(()((()())))))(())))((()((((((((())(()())((((((((()(())())))))()(()))))((()(())))(()))))))()))(()(()())())((()()))()()()(()())())))))((()))))))()))((()()()(())(())(())))()()))()()())))()(()((((()(((((((())(()((((((()())())))())()()))()(((((((()((((()(((((()()))))()(()((())(((()()())())(()()())()))((()())(()))))())()(()(())))()())))))))()()(()))))))))()()))()))((()))))))()(((((((((()()))((())((())())(()((((())()))()(()()())()))(()())((()((((((())())()))()(()((())))))(((())))(()()(()((()(())(())((()((()((()())(((())(())))))()(((())(()())())()))())))))))())()()((()((((())()((((())))(()(()()))(((()(((((()))(()()())((()))()(())))))((()))())))()))(()()())()()((()))((()()(((((((()())))()(()()(()))))))))))())()))()(()))))(()(((())()()))))((()))()(()(()()(((()))(()((())())()()()())()(())()()())))(())))))()())(((())())(((()(())()())((()))())())))()()))()()()(()()())(((()((((()(((((())()))(((())()()((((()))((()())()(()(()((()(())(((())))(((())())(((()()(((()(((((()()))()((())()(((())((((((())()()))())()(()((()(())()()(((((()()((((()(())))(((((((((()))))())())(((())())(())(())))()))())(()))))(()))())(())()((((()(((()()()(()()())((()((()()((((((()(((())((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

()()(()())(())()()()((()))(((()(()())(((()()))((())()()())))()()(()()))((((()))(())))()())()()()()((()))()(())((((((()((()((()((())())(()(()()((((()())()()))())))((((()))((()(()()(())(())))))))(()((()(())))))(())(()(((()(())))()())())((())()((())(((())))(()))())((()))(()))()((())(())((()()((())()(())))(()))()())()))()((()((())))((()(())(())())(((())((()))))))))()((()())(())()()))(((((()())(())()()())(()((())(()()(()()))()())))(())))))()((()))(())((())())(())(()())()(())()()()(())()((()()(()(()))))((()(())))()(())()()(()((((((()((())())())())()(())()))(()())()((((())((())(()()(()(())))))()))((()()(((())))((())(())((()((())()())((()()((())))(()()))())()())(())(()())((()())()))(((()(())(())(()()()()))())))))(()((())(()())()())))()((())(()(((((())()())((())()))(((()((((((())(())))(()(()((()(()((()))()(())()()(((()))((())()())))()()))((())(())()))()()((((((()())((((()(((()))(())))()((()(())()(())()))))()(((((()()))()(()))))()())())))()()))())()))())()(((()())(((())())()()())())())()()()((()())))()))()()((((()))))))(((())()()()()((()((()((((()()())))(((()()))())((()(()())())))(()())()())()))(()(())())())())(((()()((((()))((((()))(((((()())(()(((())()))())(()(())))((((())))(()())()()()()(((((()(()()())((()))()))())(()))()))))))()(()()(()()(()(())()((()))))()(())((()))()))((())()))(())()(()(()((((()(()))()((((())))))()()()(()(()()()())(((()))))(()((())(((()()))))(()()()())))()))()(((())())(((((((((((())(())))()()())()(()))())((()())((())()(()())()(((((())(()(((())()()(((()()(()(((()))(((((())((((()((()))))(((()())((((())(((()(()()(()(((())(()(((()()((())))()))()((()()((((()())(((()(((((()())(((()())(()((((()))((()(((((((()))(()()(()()()((((((()(()()))(()((((())(((((()((())(((((())()(((())(()()))()(())(((())())))()))())((()))()())(((())((())))((()()())((())()(((()))))()((()((()(())))())()((((())()(()))(())))(())()))((()((()())(((((()()())(())))))(()()((()((())((((())(((()))))(())(((())()())()))))(()())(()(()())())(()())()))()(()((((())()()((()))))())()()))((((())((()()())))()(())((())()))((((((((())))())))))))())()(()(((()()(())(((()))))((())))()((()()))))))()))(())))))()))()))(()))()((((())(()(())(()))()))((()(()))()(())((())()((())())(())()))()(())()())(((())(()())((((()()()))(()((()()(()((((((())(()())(())(())()()())()()(()()))(((()((()())(()()()((())))(()(()(())))()(())()()())((()()(())(())))))(()())))))()))())((()))))())(((()()(()))((((((()))()(()()()(())())()))()(()((((((((()()(()))()(()))())(()((()()((((()((()((()))()))))()())))()(()))()(((((((()((())()(((()((()(()()(()))()()(())()((()()))(((()())())(((()()(()()()))()())((()((())))())()))(((())(()(((((())((())((())()()()))()))()())()((())))))(()))())))))())())(((()))))()()))()()(((((())))))()((((()))()))((()()((((())((()))(()(())()))()())()()))(()))))((()()()(())(())()((()))((())))()((((()())))))))(())((((((()))(()()()()(()))))())))(((()()))((()()))(((()))(((()(()(()))()))((()()((()))))(((())))()(((((())()())())((())))()(()))()()(()(()()()))((((((((((()))()))((()((())())))()()()((()())))))(((((()((()()))((((((()))(()(()))()(())()(((((((()(((((()(())(()))()(()())))()())(()))))()((()(()(()())()()(((((()))((()))())))(()())))()))))())((()()()))(()))((((()()))))(()()(((()()))))()()()())))()((()(()(())())(()()())))())(()))((((((()()()(()())))())()((()(()()))(())(())())()((())(()(((()()((())()))()))())))((()())))()(((()((((()((()())()(())()((()()(())))))(((((())(()()()())))))(()))))(()))((()(())(())((())()(((())))))(()((()((()((()))))))()()(())((((((()(()((((()()()))(()()()))())())((((()()()))()))))())))(())(((()())())()))(()()()((())()(())(((())())(((()()((())((()))(())(())()()()(((()()()()())))()))((())()(()(()())(()(())(())(())()()())(())(()(()))(((()()()()(((())()()))(())()((()))(())())((()(()((()())())())()()(())())(())))()())()()(()))()()(()()())(()(()(()()())(()(()(((()((()(((()())()(())()((())())()())))))(()((()()())())((()))(())()))(())))))()))((()()((((()(((((((())(()())(()())()((())))(((()()(())())()(((()))((((())())()()()(((((((())()()(()(()())(((())))()(((())))())(())()()(((()()))(())()())((())())(((((()())))()(())(()((()))((())))(((())((()))())((((())(()((()())))(()(())(()())()())(()()(((()(()((()()()(())(()))))())((((())())(())()))()))(((()))(((((())))(()()(()()())()()()(((()))(((((((()(()((()(()()())((((((((((()())(())())((()())((()(((()(())))(()((((((()))))(())((((((((()(())(((()(())()(()))()(((((((()(())))(()()(()((()))((((()()())(()(()())()()()(((()(())())()))()()(())))()(()((()((())(())))))(((()((((())(((())))((())()()()()))(()(())(((())))(())())()(()()(()(()))()())))))))(()()((())()(()))((())(()))))((()))())((()()())()((()()))()()))()())()(())()(()(()(()))))(()()))))((()()()((()))))))()(()()()()(())((((())()))))())(())())(()(()())()))))(((((((())())))()))((((())))(()))()))((()))(((((())())(()(())())))(())((())()((()(()(((()((())(()(())(()))))((())(((()))((()()(())()((()(()))())(()()(()(())()(())()(()))(())()(((()))(()(()()((((()((((())()(()))(()((())(())(())))))(()))())(()()(((((((())((())((()()(((()))))))))))(((())((()()())(()())))(()())(()(()))))(()())()))))))())(())(((()(())(()()()()()(())()))())()))((())()(((())((()))())(()((()(()((()()(((())((()(((((((())))())))((()(()()))))(())))()()()((()())))((((()()()(())(())))())()())())(())(())()(((((()())))))())((((()))))(()))(((())(())()))((((())((()(()(((())(()()))(()(((((()(())())))(()()()())()())))((()(((()))(()()((())())(()()))()(()))))(()())())()(())))(()())()(((((()()())(())(()(((())(()())())((((((())())()(((((((()((())()))(()(((((()(()()))))))()(((((((((()()()())(()()()))())()())(()())())))(()((((((()))(()))))((())(())())()))(((((()))(()(())())))))((((()((()((())(((()(()(())()()()(()((()((((((())))))))))(()(()(())((()()(())(()(()())()(())())()))())))(())(()()())))))))())(())()()())()(())))))())())))))()(((((())(()()())))()))((()((()())))((())))(()(((((()()(())(()))))((()()))((())))))()()()())(())()()((()))))(())())))(()()(()()((((()))(()(())(())))(((()))()))())))()()))))(((())(()()((((()(()))()))((()()((())()))((((()()(()))()))(())(()()())(()())))())()())((()(())))))()))))()((()())))(())((())((((()(()(()(()())(()((()()())))()))())(((()()))()())(((((()()))())((()))((()())))(()()()))((()(())((()))))((())(())))()()(((()(((()())))))(()((())))))((((()((()()()(()((()((())((((()((()(())(()()(()()()((((())((()(()((()())(()(()))(()(((())())))())(((())()()())())()()(()())((((())()((()())((()()))((()))()())))(()))((((()()()(()()())(()))(()())())(()))()()((()(((()(())))((()))()((()))(((()))((())))(((((())())(((((((()))))))()))(())()(((()(())()()))(())(()))((()())()()))(())(()()(()((())((((()((((((())))))()))(()))))))()))()())))()())))())))()()()))((())(((((()()()()()()))((((((()()()))))(()))(()(((((((())())()((((())))(())())(()(()))))(()(((()((())(()())(((())())))))((())))(()(())))(())()())()))())())))()()())))))(()))))(((()()))())((((((()()))(())()()((()()()))))()())()(())(())))))(()()(())()())()(())((()))(()()(((())()())((()(()))(())()(())())())))(())()())()))(()(())))(()))((((()()((()()(())()())()()))(())))((((()(()((((()))(()(()))())()()()(())()())(())(()))()))((()(()())()(((((()()))()((()))((()())()))))))))))(()(())))()())(())(()))((((((()))((()(((((()(()((()()(()((((()())))()))()))())()))((()))(((()((())))))()()()))))()((((()((())())))))((((()))())())()()())(()())()))(()((((()())()))())()()())()((((()))((()()(()))))))()(()((())()(())((((())()))((()))())((()((()()))()))(((()((()())())())))((())))))))))()))()()()))))))()(()))))()(()(()()(())))))))))()((()())))()()))()()())((()(())())))))))())))()(()())(()(()(()())()))(()()))()(()((()((())))((()()((((())(())())))((((()(((()()()())(()(((())))(()())))(()())()(((()))((((()))())((()))())(((())()()((())()())()((()))()))()()(())()(()))())(())))((())(()())))))))))))))))(()((()((((()((())(()(())()(((()()))(()(())))))))()(((()))(())())((())))()))(())))))()((()())))()())(())())(((())))(()()))))(())()))(()(((()()(()))()())(()(()())(())())))((((((((()))()())()))()(()()()())()((()(()()))()))((()()())((()(())((((()))(())(())))()(()()()()))()()))))))))))())))(())()(((()(()))()((((((())(((()(()())()(((()()())))))))())()))((()())(())))))(())))))(()))(((())(((()(()))(()())(()))())((()((()()()))()))((((((())(())(())(()())(())(())(())(()((((())))()())))()()()()((()))))())()()()(()))(()(()))((()())))()))()))()(())(()(())))())((()))))((()))))((()((()()))))(((()(()(()(()()()((())(((())))()())(()))(()((()()()()()))(()))((()))((()())))()())))()())()))((())()())))()(())((()((()))(())))(())))))))((()(())))((()())(()(())))(((()()()))((((((()(()))((((((()))))())(()))()(())()))()(()(((())(((()(())((()()()))())()))(())()())())))(()))((((())()((((())((())(()))()()()))))()))()))()())))((((()()))(()()))()(())())(()()()()))(()))))())((())(()())(())))()((((((()((()())(()((((()(((()((())())))))))()))(()((())(((()(()))(((()()((())()()()))(()(((((())()(()(()())))(()))))()()()(()))())()()()()))()(())()))())(()))(((((())()())()()))(())(()(((()((())()())()))))))))))())))((()()(())(()())()())())())()()((()(()(())()((((()()()()))(((()))()(()()()))))))()()))((()())(((())()(())))(()))(((()((((())))()(((()))))))(((()))()))(((((()())((())()()()))()(((()))()))())()))))(())((((((((((()))(()()(()))()())())(()())(()())(()()((())))))()()))(()((((((()))))))())())()))())))()()((((()(((()()(()((())))()())))())(((())())))())()()()(())))()(()((())))))()())))()((()(())()(()(((((()()())()(()(()))))())())())())))(()()((())())(()(((()))()()((()))))())(()()()))))()(()))()(((((()))())))(())))()())((()))(())())))((())((()(()()(((((()()()(()(())((())(()()((((())(((((()))(((())))())))()(()))))())()(())(()()()((((())()((((()())((((((())((()))()()()(()()()()()))))())))(()((()())(()(())())()((()(((()))(((()))((()(((()()))(()))(()(())()())()()((((()())))((()((()((()()((()()))))()))((())))()(((())()))))(()((()()((())(()))()())(()(()((((()(())()((((()(()()())()()(()())(()()()))))()()))()))))(()()()())()(((()((())())(()((()()())))()(()())())))((())())(())((()()()))())))))(()))))((())))((()((((())))()))))(()(((((()))(()(()(()))((())))()()))())(()((((()(()(())((((()))(())(()())()())())((()(()(((((()(((()(()(((()((()(((())())))))(((()())(())())(((()(()())())()()))))((((())(()))()()()(((()()))(((())))(())))))(()))((((((()))(()((((((((())))(((())()))))((()))((()(())))((())((()(())))()())))())))(()(()))())((((()()())(()(())))()()(()())())())))))()((((()))()(()((()(()(()()()()(()()(()(())))())))((())())))(()))(()))()))))()))))()((()))(()())))))()(()()))())()()))(((())()(((()))()()()))(()()())((())()(())())()))(((()((())()()((()())((())(())(())))((((())(()()(()())(())()))))((((()))))())()))))())((((()(()(()())(()(())())())))())()))))))()()))(()()())))()())))())))))))())(()))(()(()()((((()(()))())(()))((()())()))))()()))()()))((()))()()()(((()))(())())()))((((()()()))(()((((()()((()()(()((())())))())(())())()(()))()()(())))()(())()((((())()((()(((()()())(((((()))))(((()))()))(())))((())())))(()(()))(((()(()())(((()(()(())((()(()()(((()(()))())))((()(()()())()())()()(()()(())(()))(()))))(())(()))())))()(()(((()))(()(())))())(())()())(())(())())((((()()))))))(((()()((()(((()((())()))()((()((())()))()(((()((())()))())()())(()))((((((((())))((()())(((()(())()()()((()))))()(())((((()()((())())()(((()((())((()))()())())()(()(((())()())((()((()()())((()())))()()(()(((((()))))()))))()))(()(())(())())()))))))()((((()()())())(()()(())())(())()()(())))())()(())()))((()(()))((((()()((()(((()))()))(()(((())))()(()((()(())(()))))((((()(())())(()))(()))()()())((()))(()))()))))((()((()())))(())()))))((())(((())())()()(())())()(()()))((()))(()(()))((())((()()(())))()((()((((()()))()()())((()))(((()()())))))))()))()(())))((()((()((((((()(()((()))()((())((((()()()(()())())(())()))())(()()))(())())()))))((((())))))(()())()(()()))))))))(((()((())(()((()))))())(())))()((()(()()))))()()))))((((())))()()((()())((()())(()((()(((()(()((()))(()())((((()))))((())))))(())))(((())))((())())(())))))(()())))(()))())))()))((((((((())((((()((())))())())))))((()(((()))()(()))((()(((()()()()())()()()()()(((()()))(()))(())())()((((())((((()))))(()()))))(((((((()((()))))))))(())(()(()())()))())()()()(((())))((()()(()))))))()))(()(()()()(())))(()(()(((()()()()(((((()()(()((()))())(((()())())()(()()(((())))(())())())()(())(((()))))()()(((((((()(((((()(()))))((()(())((()())())))((((()))())())()(()))(((()()()))()))()()())((()((()(())()(()))))(()(((())(())(())(()()))))())()())((()()))(()))((((()())())(()((()(((())(((())()(()()())(()()(()())()(((()(()(((())))))((()((((((((()(()())()))(()((((()()())))))()((())))(()))()(()))((()(()((()()(((((()((()((()))(()()))()))))()(((()))))))))()((((())()((())())(()())((()((()()(((()))()())((()(((((())(())(((()(()(())))))()()()(()))()()())(())()()(((()()(())(((())(()((()()(())))(((()(())())((()))(()))))()))()(()())()())(((((()())))((()(()((()())))()(())())(((((())()(()((())()(()()())((()(()(())))))())(())))))()(()())()((())(((((()())(((()(((()()((()(((((()()((()(())((()(())(()))(((()((()))(((())()()))()())()))((())(()(()()(()((())))))))()(())((((())(()()))()(()(()))))(()())((((()((()(()(((()(())()(()()())()((((()()())()()((()(())((()))))))()()())()(()()(()()(((())()))()())))))))))))((((()((()((()()))())))()(((()))))))))(())()))((((((()()(())()))((()(())))))(((())((())()))(((((((())((((((()())))(((((()))()()))())(()(())())()()))(()((()(((())((()()()()))()((())((()((())(((()))()))()()((())())()()(((()()(())))())(((()))((()(()((()()(()()(())(())(((()))()))()(())()(()()()((()(()()()()))))(())()))()(())))()()((()))()()())(()()(()())((((((()())(()((()((())()(()()((()))((())(()(()))))(()))()))))()((())())())(((()((()())(((((((()))))()()((())))(()())))()())(((((()))))))))(()((())))(()))((((((())(()(()()())))(()()()()()))())((()(())(()))))())())((())(())))))((((()()))())()()()))((((())(()))()))(((()((()(())))(()())))())()))()()))())()()((((())()((((()((((()())((())())())(((()(()()))(())))((((()((((()()(()((((()))((()))(())(())((())))())((()(((())(()((()(((((())(((()())((()))(()((()()((()())()))()())()((()))))))))())(((()()))(()((()()(())()()(()))())(()))())(()()((()()(()))((())()))())())()()())()()(((())()(((())()()(()())))())))()(()(()))(())(((()((()))()()(((()(()))()()()())(((()(()))()()(()(()))()((()((()())()()())))(()()()(((())(()())((()()))()((()()())))())()(())(((()))((())()))((())(()()()))((((((())())(()))(()))(()(())))))()(()()))((()()((((()(((())()()(())((((()()(((()))))))(())()))(()))((()(()(((()(())())(((()))(((()(((()((())(())(()()))((())))))))))())))((())))(())))))((((())))()(()()))())()))(()((())()())()(((((()()))())(((((()()()))))((()())))(((()())((()((())((()()()()))))()))))))))()()(((()))()))(()(((())))()()((()(((((((()(()))))()(()()()()()((()()(()))())(()()))()(()())(((()))))(()))))))()()(()(((((())((((()))(())))))())()()()(())()(()())(((((((())))((((()(()()))))(()()))))))())()))())()((()))(())()((((())))((()))()((()()))((()()((()()))()()(()()(())()()(())())(()(()(()(()(()))))()(())(()))))(()))()()(()(()())()((()))()())))))))(()()))))(((()((((()(()(()(())(((((())(((())))())((()())()()(())))))))()(()(())())()()()(()(()(()()))))(()))(()))(()(())(()((((()()((())()(()())))()()(()))(())))))(()()((()())))))(())(((()))))))((((()))()()(()(()((((())))))()))(((()()(((()()()()()))()))())(()())(()())(())))()))()((((()(((()())))())())()()((()(()())()(((()()()()(())()))()(()))(((())((((((()((()((())))(()()()))(())()))()))())(()())((())())()))((())(())(()()()()()(()()(()(()()()((()()(())))()()(()((()()(((()()(())))()))((()(((()))())()))()(((()(())(()(()(((()))())())())(()))())((()((()(()))()()))()())()()(((((((((()()())(()))(()))())))((()(()())(())()(())()(()((()()))())(()))(())())())))())())())())(())((()((((()(((()(())()()(((()(()()()))(())()()(()(((()))))))(()())())((()((()((()(()()())))))()()()()(((((((())()((()))())()))()()(())(()(())())(())()(())(((()()))()((()((()(())())()(())(()((()()()()))((((()()(())(()((()))()()))(()))((()())()))())(())(()))))(()))()((()(())))))())()))))())(())()()(((()(()))()(((()))(((()(((()((()())(((()((()))(())()((()((()((((((())()(()))())(()(()()()))))))))()))()))()(()())())()()))(()()()())))))(()(((())()))(((()))))()((())((()(()()))(())(()(()))((())(()()))()(()(()(((()(()))))()))(((((((()))())(()(()(((())())((()))(((()()())(()())((()()()()))(((()()(()))(())))((()))())(()(()()(())))(()(((())(((()(()((()()(()(((()()(()(()))))))((((())))(()))((((()())((()(((()()())(()(())())(()()(()()()()()())((()))))())))(()))()())))((((()())(())()()(()))))))())))()((()((()())())))))()())(())())))(())(((()))()()((((()())((()(()))())()))))))))()()))))))((((()((()((()))))()))))())))((((())(()(()))))()(()))(())()))())((()()))((())))((()()()()))())(()((()(()(()()(()())())()(()))()(()()()((())))()()()))))((())(())())())(((()((())()()()(()())))))(()()(())((((())((((())))()(()((()()())())))())((()((((()))()()()(()))(((((()((()()()))((()()(()()()(())()((())(()((())))((()))()()())(()()(((())()))()))()(((())()()))))((()()(()((()())()))(()())))())(((()))(())))()))(())()()())())(())(())()))()(())((())())))())()((()(()(()())))((())())()((((())()()()(((((()((())()(()))(()())(()(((())))((())()))()(())())))))()())(()))))))())))())()()(((()()(((()(()()()()((())))(()())())()))))())())()((())(())(()(())))(()(()))()(((((()(()))()))(())))(((()())()))()(()(()()()))()()()())))(()))))(())((()()((())))(())(()()()))((())()))()())())))(((()(()()(()())()((()(((())((()))())(()())()())))))())()(()))))))()))))))))()((()(()())))((()(()))()()(()()())))()((()(((()(((()())()(())))(()))((()())))((((()))(((())()))()(((()())(())(()((()))((())))))((((()(()(((()()(()()(((())()))))(()()))())(()(()()())(())()())))())(((())(((()))))())(((()(()()))(()))((()(((((()()()())))())))))))))))))()))))(()()()()())())))(())))(()())(())())))(())())(()()))((()(()((())))()(()()()((()))(())))(()())((()))(((()(((()))())())))())()()())(()((()(()(((())))))()))))(((()(((()()))))))))())))))))())))))()()())(())))))(((()(())((((()())))(()())(((())))))()()((())((()()((((((())())()((()()()((((())))()))(()()(((()(()(()(())))(()))()))(((()()(()(((()(()))())))))))))()()(())))()(((()()(((()())((()))())()()))))))))((((()((((()(()(((())))()(())())))))(()()()(((())((()()(())((()(()()(()((()()(()()()))()()))(()(())()))(())(()))))))()(()()((((())))))())())()((()())()())()(()()))))())(()(((()((())))())))))))()((()((()(()(())(((((()))()()())))(((())))((()))))))(()((((())()))()((()(((())((((()(((((()((()(())((())))()))()((((()(()((((()((((()()))))))(()(((()()))((((())(()(()()())())))))((((()()((((()))((((((()(()((())()(()((())())())))))((((())())()()((()(((()(()(((((()((()))((((()((()())()))))))()())))()()(()()()))))())())(((()(((()())()()()()))()(()(()(()))))(()((())()())()))(()(())((()(())()))))))))(())()(())())(()()((()()(())(()))()(())))(()()(())))())))(((())))(()(()))(()(((()((()(((()))())))()(((()))())(()))((((((((()())((())))()((()))()(()((((((())(()))()()(((()(()())((())(())((()((()((()())((()()(()(())(())(((())(())(())(()))()(())()(()((()(())))((()((())))()()))())))()(())((()))(((((())(()((()())))(()()()())())((())))()))))()()()((((()()))()))))()))(()))((())()(()))))(()(((())))))(()()))()))()((((()(()(())(()()))))()())))(()(()())()((()))))()((()()(()()))))))))((())()((()()()()(((())()((())))((()))())()))))(((())()()))(()(((((()(()())))())))((())(()(()(()())())(())))())))((()()()()((()())()))(()()()(((()())(()(()()))((())(()(()))(())(()))))()))()()))())))))()())((()))))()()(()(((()())((((((())())((())())))(())((())))())())()))()))()))))(((()()(()()(()))(())(()(()(()())()))))()((((()(())()))()((((())()(()()((()(()((((()(())(()))())((((())(()(()()))((()())()(((())(()((()((()())((((((()))))(()()()()()())()()))()())(((()(((()))((()()((()(()()((()())(((((()())(()()((()())()())))()(())((())()()())(()((()((((())((()))())))((()()()))((())()()()))(()))()())(()((((((()(((())((())())(())())(()()()()())()((()))()))()))(()(()())))(()()()(()(((())(()))())()))()((((((()()()))()))))(((()((()(()(())())()))())))(())(((()(()))))()))())()())()())((())()(())(())(((()))()))))())(()))(()()())()((())()(()()()(()))))()()))()))()((((()(())(()(()))((((()))(()))((()(()()()()()(((((())()()((()()))(()))((())))()(((())(()(()))))()()))())((()()()()()()()))((())((()()(((()((((((()(((((((((()()(()))()))())))(((()()))()))())(())(((()())()))())))))())(()))(()()((()((()))(()())())((()(())(((((()())()))(()()))())(()())())()(((()()(()(())))((()())(((())(()())((()(())())()(()(((((((()()()))(()()))())())((()(((())((())())()))(()(()()()())())()))))(()(((()(()()(()()()())))()())()(())()()((()((()())(((()()))((()()()()())()((())()())((()())))()(()())(())()()))()))())())()(()()()()(((((((()())()()))((((((((()()(()()()())))()()))((()))(()(()(())()))(((()())))((())((())())))())))((()((()(())()))()(((()(())))()(())(())())(()())(())((()())()()))()())()(()))())()))))((((()))()())((()))))((())()(()))(((((()))(()))))((()))(((()()))()(((()()))))((((()()((((()((((())(()(()(((()))()())()(())((())()(())))))()(()()()((()(((((()))())()(((()))()())((()()(())()())()()))))))())(())())(())()(()))(()(()((())(())))))(())()(())(()(())(()(()()()(((()())))())()(()()))()(((((((()((()()()))()()()())((()()))))((())())))()(((()(()())()))()()((()(()()())))(()(())))(()()))())(()((()))(())(()(((())(((()(()))((()()(())()(())))())())()(())()())(()())))())(())))())(()()()(((())(((((((())))))))()()(()(()))(()((())(())()))))(()((())()(())))(())((()((())())()))((()(((()((())()))((()))))))((((())())()()()()())()()()())))(((())(())((())()))(())))()()))()()()((())))))()((())))))()))))()(((()(()(()(()(())))((())(((((())((()())((((((()()(())))))(()((())(()()()()((()((((()()()(()()()()(()((())()))(((())())())))(()()))))))()()(())())(()()(()(()()))()))())())((()))(()(((((()))(()))(((())((()())())())())(())))))((((()())()())))())())(()()())))))(()))()())((()((((()))()(()(()()((((((((())(()()))((()))))(((((((())))(())))()))())))()()))(()()(()())()))())()()(())()(((()()(()()()(((())(()))())((()))()(((()()())())()))(((()))()))()(()(()))(())))()()())())()))(())))((((((((((()()())(((()(())()()(())(())()(()(()((()((()))))(()())((()))()())()()()(()(((((()())(()(())()(()())))())()(()()())(((()(((()((())(()(()((())()))()()((((()()()(((())))()((((((()(()((())))(())())))))())((()))))(((((()(()((()()(()(((((())(()(()))))())))(((((()))))(()()())(((((())(()()(((()()())((())((())())()))(())((()(())(()))(()()))()())(()(()))(())((())()((()))))))))(())()()()()))))()(()(((()()()(((()()))()(()())(()()))))))))))))(())()()(()()()(()))((((((((())(())))))((((()))((())(((()))())(()())))))())()())((())((())((((()))((((()()()()())()())(()(()((()()())()()()))()((((()()(()(())))))(()))())()()()((()()())(())())((()))))())((())())((())()))((()((()))()))(()(()(()()()()(())((())(()()(((((((()(()())))()))((())))()()((()()))())))()))))(())((((((((()))))))))(()(()(((()(())()(())))(()()))))))()))))(((((()(((()))))(())(()()))((()))))(((()))((()()())(((())()(()()((()(()()(()((()(()())((())((()())()))((())((()(()(()))(((())))()(((()(()()((()(((()(()()())(()))(((()))((((())))(()((())())()))))())())())((())))))(()()())(()))()((())))))())())((()(()(())))(())(())())(((((()()((()(()()))(()))()(()())))(())))))))())())(((((()((((()()()))(())))()((()))))()(())()())(()()()((())()))(((())())(((()())((()((())((((()(()((((()(((((((())(()))))(((()(()(()()(())))()())()))(()(()())((((()((((())())()()()(())(((()((()))))(((())))(()())()(())()))())))()((()((()))((((()()((())(((()()(()()((())((())()()(((((()(()))()))()))))))(()(()))(()())))))()((())(((()())(())(((()(())))))))))))())()()))()))((())((((())))(()))))()()()(())))()(((()(()))))(()()()()()()))((())(((((())()()()()()))))))(()()(()((())()()((((()()()))()()()((())))(()()((())))()(()((()())))()(()(()))()(((()()((()))))((()()(((((())))(()()((()()))(()))()()())))()((())(()))((((())(())())((((())((((((((())())())))()))(()))))(((()()()))))()(((()()))(((()((())(())))())((()()(()))((()))()()())())()))()()()((())()((()()(((()(()))()())()))()()(((((()()()())))((()))()(())()()(())(()(()(())))()()(()(((()(()())((())(()()(())(((()(((())))()))())()))))))()()(()(())()()(()(()())()()((((())((()((())((((())())))))((((())((())(())(()((((((()(((()()()()))()))())()))(()(()()))()(()(((()())()))()))()(((()))(((()(()))())(())))())()())()(()()())))((()()()()))()())))))(()))(())))()())()())))())((()(())()(((())(()))(((((()((()((()(())())()(((())()()())))(((())()()))()()((()))))(()())())()())))())()(())())(())))((()()(())(())((())())()((((())((()())(()((((())())())())(())()(()(((())(((()(())))()(((())()())())((((((()())())(()))(()((()))((()(())))()))))(()()))(()))(())(()())((()((((()()()))))))()())((()))()()(()))((()(((((((((())(()((())))(()))(()))())(()((((()()(()()))((()()()()))((()(()())(()))))((()))(()(()()(())((()(()())()()(((())()((()((((())))(()(()(())))((()()(())))()))()(()((()((()((()((()(((()))(())())()()))()))()((()()()())()(()))()()(((())))())()))((((())))()())()))))(())))))())()())())())())(((((()()(()(()))(((())(())(()))))(())(())))((()))))()((()))((()))())((())(()(((((()((()()()()()()))(())))())(((())(())((())())))()()(((()(())(((()(())())))()))))())))))(((()()((()()()())))()())))))()()()())))(((()))((()((()))()((())((())))(()))(((()(()()()))((())))))()))()()((())()())(()))))(()()()))()()))()((()))((((()))((()((()())))(((((()())())()(((((()))())())(())()(()(()))(()(((((())))())()()))()((()())(()))()((())()((((())()(()))))(()))))(()(()((((()()))())))))((()))()((()((((()()))()(()(()(()))()())(((()()(()))))((()(()(()()())))(()))()(()())(())((((((()(()(())(((()()((((()()()())()()())()(()((((()((((()()()()()))()()()(())(()(((((()(((())))(())(()()))))(((((()))((()))))))(((((((((()())())))(())(()()())((()((())()((())()((())(())))(()()(()()))())()()(((((()))))()()()()))()()))(((())()((()()((((()(())(()()(()))(()))))))((())(((()()()))))((()))((()(())((()()(()((()))))())))(()))()())((()(()()())((()())()))(())((()))(()((()()()))()())))(()))((()())()()))))))))))((()(())))(()()))(())()(()()))()()(()((())())))((((()()))((())))))()))))()))()))))())((()(((((()))())))))(((())(())()))()()()())))()))(((()(()()))()(())((()(()(()())()()(())()())))((()(())(()))())(()(((()))()))((((((((()))))))()(()))))()(((((()()(()))(())(()(()(()))(())))))))))))))))(()((()(((())(()(((()()((()())((((()))()(((())(((((())((()()((()))()(((())())())(()))))(()()((())()((())()()((()(((((())()()()))))(()()))((()()))((((()())(((())(()(())))(()))()((())(()(()))(())))()((()))()((()(((((()())(()))()())(()()))(())()()()())()(())(()((((((((()()(())())((())))(()()(()))()())(())))(()())))())(()())))(((((()))))((()()(())))()))()()(((()())()()(())(()(((()()()(())))())((())())(())(((()))(()()))((()(()(())()()))(((()())())())())(()(()())())()())))(((()())))())))))(()(()(()((()()())())())(())))(()()(((()((()()(((()()(()(()))())())(())))))(((()((((()()))()()))(((())()()(((()(((()(())())()(())())()))))()))()))((())())())()(()))))()(())()((())))()(())()))()(()))()()((((())(()())(()()))()))(())((())())))))(((((()))()((()(()(()(((())(()(()()()(()()))(())())())(()()(())))(()(((())())())(()(()(()(()((()((((()())))(((((((()))))(()))))((()))))()(((((()((()((((((((())())))())(()))()()(((()((()((()))((()))))))(()())((())(()()()(((())()(((((())))(())((()(())()((()(()))))))))()(()(()(())(((()))))()())))(((())())())))))())(()))((())())()))()()(()((()()))(()()(()()((())())(()(())((()))()())()))))(((((())))())))())()()(()))((()())(())()))(((()())()))())()()()((()))(())((()()((()())))(())((())())((()(()((()((()(()(())((()(())())(())()((()(()))()))))))((()))(()(()))((()((((()())(())(()()(()(()))))))))))())(((())(()))(())())))((()))(()))))(())()()()()((()(((()()(((((()))(((()()))()(())()))((()))()))((((())(()(()))(((()((()()(()(((((()())(()((()())(()())())(())((()()((()))())()))()())((())()))())))(())(((((()))())))()))()()))())())()(()())(()()((()()((((()()()()()()((()())))((()()((()()))(())))()())))))((()(()())(()))())(()))((())((())))(()((((()))())())(((()))))(((((())()((((()(((((()((()))(()))()()))(())((())((()(())))()(()()()))()((())(())(((((())()(()))()))())))(())())())((())()()(()(()(()(()())()))()()())((())((()()())))((((()))(()(()(())(()))))((()()()))()))((()(()))()((())()(()))(()()))()(()))(())))()))))))())()()()()())))(((())))()()(()())((()))))))(()()((((())(()))(()))))()(()(((())))(()))(()))))((()(((()((()(())))())(()(())))()))(((())()))()((()(()()))((()))()()))(()(()())())())))))(((())(()))(()((()(()(()))((())))(()())((((()(()()((())((())))()()(()())()(()(())(()(()))()))((())(())()((())())(()))()(()(()))))))(()(()()(()((()()))()))())((()())))))((())(()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(()()))(())))))()()()())()(()()(()()))())()()(())()()(((()((((((()(()))())())())))(()())((())(()())()))()(()))(())()))))(((()()))(()((((()((()))(())()()))()))))()()(((())(()(()()((()()))))())))))()))(())())(()()))(()((())()((()()()(()()())())()(()(()))()())))))(())()()()(()(((()))(()())(()(())(((())()))()()))()(((()(()((((()((())())(()()))()())()))((((((()())((()))))()))(()()(((())))))))()))((())(((())()))((((())()()))()()())()))(())()())()((((())))((())()()))(())())))())))(()(())(()((()(()()(())(((((()))))(()))(((())((()((())()))(((()))())((((()(())())())()()))))())))(())())))(())(()()(())))())()((()(()(()()()())(()()))()(())((())))())))())()(()()))()()(()((((()(((()((()((()))())(()()(()))()(())()()(())()()(()()())))()(()())(())(())))(()))()))))((((()((()())))())))())())()()((()())))())))(()()()))())(()))(())))(()((())))())())(()())))(())()))()))))(()())((())()(()()))(())))(()(())())((())(()))))(()()()(((()))))))(()(()())()())()(()(()(()))(())())()(())))(()()((())))))(()(()()()(()()((()(())((())))()()(()(((())(()(())())((((())(()())(())(((((()(()())())()())((()))))((()((()))(()()))(()()()(())((()))((()))((((())(((())))(()))((())()(((()(()((()(((((((()((())(()(()(()()()()()()(())()((()()))(()))()(((()()())((()())((((((()())(((())()))((())(()))())))())(()(()(())((())((()()()((())(())))(((())()))))())))))()(()(()((()())()()))))))(()))()((((()))()(((((())()()(()))(()(((((()())))(()()(((()())()())(()()()(())()(((())(()(((())(())())())()(((((()))())(())((()))(()(()(()(()()((((()())(()()())())()()))((()((())))(()()((()))))(()((())))((()(())()(())))(())))())(())(())()))())((()(((()())(()))(()))))()((()(()())(())(())()()()))))(((((())())()()))))((((()((())))(((()(((()(((())())()))()()()())(())))()(())(()(((()()(())))()()(((((())(()))(((()))(()))()(()(((((())(()(()((()())()((()(()(((((()(()))()(())((((()))(()()(())()((()(()((()(())()()(()(()))((((()))((())(((()(()(()(((())((())((((())(())()))(())))())()()))())(()()((()(())((()()))(((((())(()()()(()))((((((()(((((((())))()(())()))((((((()()()(())))(()(()))()()((()))(((((())))()((()(((()())))))()((((()()))))()(((()))))))))((((((()())(())))))))(((((()((())())(())()(()((()())()((()))())()())((()((((()))))())())))))))(()()))((()))()((())(()()()))))))(((((()))((())()()()(())(()(((((()))))))))(()))())())))()))(()()(())(((())((())))(())()((()()(()((())))(())()()())(())((())()))(()))(()))))(((()))(((((()()()(()()()))()(()()()(()((())(((((()))())((())()()())(())()()()))())((()))(()()()())(((((())())())(()((()()(()((()))()))()))((())()))(()())((())((())()()(())(((()(()((((((()())((((()())))(()(())))))()())()()((()))((()()))()))))())()()))(((((())())((((())(((()(((()((()())(()()()(((()(()(()()))(())()()()(()))))))((()(((((()(()()()))()()((()(()(()))(()))()())((()(((((((())))(()()())))))))(((((()(()())()))((((()())()()(()(()())))))))((()()(()))())())()(()()()()())())((())((()()()))((())(()))))))))(()(()()(()(()()))(()()))(()))(())((()())(()((())))((())()())(((())()()(()())(()(()(())(()(((((()(())()()()((())())()))())(()((((()(()(()(()())()())()())))((()(((()))))))())())()(()())(())(((()(()(((((()))()()()()))((()(()((())((())()()(((())()(((((()())(()()())(()()(())(())()))))(((((()(()())()(()()()()(()(())))))(()))(())))())()(((((())(()((()(()())()))()((()))((()((())())(((()((((())(()(())))))())(()(((()())))())()((()())))(())))())(()())))((())(())()(()))()))())((()()()((()(()))((()()((((()((((()())(((()()(((((((()))()))))(()()()()))()))(())()))()()))))))())()((()()((()))((()(()()))(()))())((()))))())((((()()))))())))))())()()))()()())))((()(((((((()(()))(()))(()))())()()(((()(((()((((((()))()(()())()()(())(((()(())()()))))((()(((()))(()()(()))))())(()))))()(()((()())))(()()((((((())((()(((())(())(())())(())))((())))))((()(()((())(()())()((((())))((())(((()()())((())()()()((()()((((()())((()((()(((()((()())))()))(())()())()()(((()())(((()))(((()(())(())()))))))((()())(()((()(())))()(()(((()()()()((()()(())))()))((((((((()))()(()())(()()))()()())(((())))()))())))()))())())()((((()(())))()(((()))(()()())()))()))())(()()(())())(((((())(()))(((())))((())))(()(())((((((()((()))))()()((((()()((()))())())()))()((()))()))())((()))())))()(()))(()))(((()()(((())()())))))((())(()(()))))))())))))(()))(()()))())()((()((((()))())))()))()())((())((((()()()()())((()()()()(())))(())())(()())())()()()))))(()))(())())())()))()(()((()()((()))(()((((((()((((())))((((())((()()())(()())())))()(()()())((()()()(())(((()))()(((())))(()))()())(()((()(()((()))))))))(()))()(((((((((()()(())(()()((()))()()((())(()()(()(())(()()())(()(()()))())))))((())(())(())((()()()()())))()(()()))((((((()())((((((()()())))(())((()))()()()((()()()()()()()))))))())()((()((())))(())(((())))((())(()(()(((()((())()()((())())(())(())))()(())))())))())))(()(())((())(()))())))((()(((()()(())()())))()(()(()))))())()())))()((()))()(()()))(())(())()()))(()(()))((()))(()))))))()(()))()()()())())))((()((()()()())))(()(()))()()(((()()((()()((()))))((()((())(()))(())())))())(((())((())()(())))())()((()((())))((()))))()())((((())))))()(((((())))((()(()()((()()(()((()()(()()(()()()))))())())(())))())())))(()((()(((())(()))(((((())(()()()()))())(()((((((()((()()()))()()((())())()((()))(()())))()(((())))()(()()))))))()))()(())))(())())(((())))()((()((())(())((()))(()(((()())))(())(())(()(((((()()((()))())()))))(()))))(())(((((()(((()()((())))())((((()(()())(()()()))())(()()())()))))(()))())())))))()))())(()((((((())))())()((()()()((()(())(()(()((()((()()(())(()(())(()))()(())()))))(())))()()))()))())()((((())())()))())((()))()))))()())))((())))((((((((()(((((()))))))((()))))())(()())((()((())())()))()))(()(((()())()()())())()((((((()(())((())()))()))())(()((((((((())(()())()((())()))))()(())())))))()()()())(()(())))))()())((((((()))))())))(())(())))())))())()()))()(((()())())()))()()(()))()())((((())())((()))()())()))())())()())())((()(((()(()(()))))()())()(()))(()(())()())))(((((()())))))((()))((()))((()(((())()(()())((())((((()()))()((((((()((())((()))(()((()))()(()(()()())))))(()()())))())(((()()(())))(((())))))(()(()()()())((((()(((()(((())()(((()((()(()((()((())((()((()(()())())()()(()((()()())))()(((()())((()))(())())))()))())())((()(()())())())))))((()(()(((((()())))))())(())()))(()()())))())(((()((()))(((((())()()())(())()))))((())()))(((()()())))))())(())((()())()(((()((())))))()()))))))))((()())(()())(()()())((()))))())(())))(()))((()(())))())()(((()(((()(((()))))))))()(())()))())(()()(())()))(())))()(()))((((())(()))())))((()()(())())((()))((())))))((()((()(()))))(()))(())(((())((((())(())(()(()(()(((((()(()))()))())(())(())))))))((((((()))((()))(()(()(())(((((((()(()())(()()((((()))(((((((())(()(((()(((()))))()))()))()))()))))())()))))))(((())(((()()()()()()()))))(()((())()(()(()()()())())((())))))))))()(()(((()(((()))()((()(())(()))(()))((())(())()(()))((((()(()()((())()(((((()()((()()(()))())())))(((()()()(()()()()())(()(()()(())((())()))()(((()()()))))(()()(((()(())))()))()))))(((())()()((()())()(((((()))))))))(()())())()()())))()()(())(()()(())()((())()))((()()))(()(((((()(()))())(())))(((())()(((())))(())())()()()))()((((((()))))))())))(()((()(((((())()()))())(()()))())()((()((())()()()())())(()(((((((()(())((()()))))((()())(()((()((())(((((()())()((()((()())())()(()(()()((()))))(())()))(()))))((((((()(((())))()((()(()()))())))))))()(()))))(()((((()(()())))((()((()))(((((()))(()())()((()(()(()()(((()))()()()(()))()())()((((()(()(((()(()))())(()(()(((()(()()())()()())))())))()(())())(())(()))()(()()))()(()((((((((()())())(((())))))))()(()()(()(((((()(()(())()())))())()())()()(()))((())(()((())((()((((()))))))))(())(())()((()))))()(((())()(((()((((())))(()()()((((()(((()(()))())))(()())))))())((((())(((()()()(((())())((()((((((())))(())((()))))()())(())()())(()()()(((())((()())((())(()))()((())()(()()())()(((((()))))()()))((()()())((())()(()(((((((()()(())))))(()()(()(()((((((()))(()))()))()))(())))(()())((())())())()())))(())((((())()((((())(((()((())((()(()))))())))((())))(((((()((((())(())))))))))()(()(()(())(()))(()()))(()))())((())))((((()(()((()((())()()))(())(((())(())())))))()())))(()(()()()()((())()()()()(())()))))())((((()())()))(()()()()()())))()))())()))((())())(()))(()(()(()()(()(()((((()(()(()))(()(()())(()(())))))()()()))((()()(()))())()(())(())((((((())())))))()())((())((((()()())())(())())()((((())(()))))()((((()))())()))(((()()(())(((()((()))((((()(((()(((((()(((()(()())()()())((()))((()()(()()(((((()(()((())(()(()()()()())()(()()))(()(()))(()))()(()(((()))())))(()(()((())))(()(()())))((()(()((()()())))(()))((())(((((()()()())())))(((())()()))((()())()(()()()()))))))))())((()())())(())))((((((((()(()())()())(())(())))))((()))((())))()()(())((()()((())())()())()(((((()()((()()()((()(((()()())((()(()(((((())))())()(()()(()))())()))())()()(((()(()))))()((()))())())(((())()(())(()((()))))))))()())))()((()(()))))(((())))))))((()((()(()(())()(())))())())()(((())(())(())(()))(())(()(())()))))((())((())))))))))()(((())((()(()((())((((())(()(((())()))())()()())(())((((()((((()((((()((()())()(()(())((())))((()((()()(())(()(((())((((((((()(())))()())()))))(())))(())()()(())()()(()(())))(())()()))(()()()()))())))((())(()))(()())(())()((()((())(())()(())()))()(()())((()()(()()())()()(())())()()(())((((())(()(()(())())))))()))()))()())(())()))((())(()()())((()))))()()()((())()()))()())(((()(((()()((((())()()())((())((((()))))))((())()()((())))))())()(()((()(()((((()))))))(())(())((())(((()()(()(()((()(()())())))((())))()(())(((()()())()()())))()))()(((()()()()))()()))(()(()(())((()))))))()())))())))()()()(((((()))))()(())((((((((())()(()((()))))((((((())(((()()))((((()))(((((((((())))()))((()(((()))((()((((())))))()))(((()()(((()(((())()))(())())))((())(())((((()(((((()(()))(((()())(())())()))(()))(((()()()(()()())()))))())((((((()())()))(())()))())()()((()())())(((((((())(())(()(()))(())(())(())()(()(()())((()())()))()())((((()))()(((())))))())((()()(((()()())((((()))))))()()))))((()()(()((()(((()))(()))()()()())())))()())))((()))(()()())()())))()()())()))()())())))(()))()()())()))(()()))(())())()))(()))))(((()()))()(()(((((((()((()(())()))()))(()(()))))((())())))()(()(()))))(())()(()((()))(((()()(()))(()(((()()(()))(()))()())(((()()))()(()()(()))())(()(())()((())())())())(()))()()((()))((()))((()())()(((()(((())((((())(()))))())(()))()())(())(((())))(())()(((())())((((()()())((((()()(()))(()((())))())(()(())()())(())()()(()(())())())(())))(((()))()()((((())(((((((((()))())(())))()())()())(()())((()))))())(()()()())()((())((())(((()(()()()))())()())()(()(()(()))((())((((()())(()())()())(()()()((((()())())())((((())(()()))(((()(())))))))()(())))())(())()))())(()()))(()(()(((())())))()()))(((((()(())(()))))()((()))(())((((()()()(())(((()()()))()((()()()(()()((()()))(())()(((()())))((())(())()))(((())(()(((()(()))))()(()(()(()(())())(((()((())(()()((()()()()))))(()())((((())(()(()))())(((())((()()()(((((()())((()))((()())())()()(()()((()()((())())(()(())((())((())((((()()))(()(())()))()))))))(()())))))()()())((()(((()))(()((((((()(())))((()(((()((()()())))()(()((())((()())()))())()(()())()()))(()()()())(((()((()())))(())(((((()()())))()())((())))(()))()))()(((()()))))((()(()())())(((())((())()))))))()()()(())())())((())))(())))(())((())(())))))()())()(()()))(())()((()(())(((((((((((()((()((()(((()()(())))(()((()()))()(())((((((((()(((()(()()()()(())))())(((())()(((()())((()()(((((())())((((()()()(())))))))((()()(())()))))(()()())()((((()))())()))())()))))((()))()()((())())((()(()()()))()(()(()((((())(((())))(()(()(()(()(((()(()()()))((())))(()()()(()())(()))))(((()()()()))(()))())()((()())(()(()()(((()))())())())(())())))()((()())()()(((((()))))()()))())(())))()(())()())()))()((()(()((()((()())()))(()(())())()((())()(()())(())(()()()()(()(()()()))((()()(()()(()))))()())())())))((())((()()(())()()(((()((((()()))))())((())()()(((())()()(()))())(()))(((((()(()((((()))(())()()())(())())(()()())(()))))()))(((()(()())())(()))))))((((()(()))()((()(((((()))(((()))())())()((()(())())()))(()())())))(()))())()(())(())())(()())(()(())()()((())(((()(((())()()()))))())))()))(()()(())(())()()()())(()((()()()((((()))))()())()())()())())))))))()))())))((()))()))(())((())))))(()))()()()(())(()())())()))))()()()())))((()((()(((()((()()))())((()(())(()))())())()))(((()()))()(()(()(()()())((()))(()()()(()((()))(((((())((((((()()()(())((()()))(((((()(()()())())()()))(()(()))())(((())()))(()))(()()(())))))(((()(((()()(()))())(((())((()(((())((()))(()))((()))(()(()()((())()(((((())()(()(())()(()()()))))(((())((()()))()()))()))))(())((((())(()()())))()))())())()()))))(())))())())))()((((()()(()()))(((()()))()))))(()(())))))))())))()()()()()(()((())))(((()())(())()(()(()))(((()(((())(()(()())))))()))(()(()(()))())(()(()()()))()))((())())(((((()()))(()(()(()(()())(())(()(()))()()))((()()((()((()())))))(()))))(()(()(())(()()(())(())))()(()())()((((())(()((()()))(()(()((()))()((((()))())()))((()())))(()(())()))((((())()(())()((((()(()()())(((())()(((((((()())))((()()(()(()()()))(())((())()()(()((()((((((())(()()((()()))(()))((((())()()(())())()()(()()((()((()(())))()())()))()((())())))))((()(((((()()))(()(())))))()(())())()()))))((()(()())()(((()))()(())())(())))))((()()(((()()(()(())()((((()))))()(()))()()()(()()())))))((((())()))))))())((())((()))())())))))(()))()())(()()))())()()()((()(()())((()()((()(()()))()()())((()(())(())())))())())())(()))((()(())())(()((()))()))))())()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

((()()))(()())()()()()(())()()((()))()()(())((()(()(()((()(()(((((()()()))()(((((()))(()(()(()()()()((((((())()()))(()(())((()()))())()(()))((()(()())(()()))(()((()())(())(((())))()))()()))()))))()(((((()())((())()((((())()())))))()((((()(()()(())))))))))((())()((((())))((())())(()((()()))(((()())())(())((()((((((()))()))(()(()))()))()))(()(())((((()((((()(()(())))()(((())(()))(()())))))))((()())((())(()()())(((((((())(()(()()()))(())())(((()())))()()))()((()()()()(((())(()(()((())(((()(()(())))))))())))(()())())()))))((()()))())((())()()((())()(((()()(()(((((())())())()))(()())))()()))))))(()()((()())))(()())))((((()()())(())((()(((())((())())((())))))))())()((()())(()(()))((())))()(((((((((()())(()))())(()())))))((((((((((())(((()()((())))()(()((())()()()()(()(()())(())()())()()()))(((())()))((()()))())))((((())(()))()))(((((()(((())((()(()(()((()()(())(()))))))())((((()((()))(()()()(((()((()())()(()(())(()()()((()))()))((()(()((((())(())(()))(()(()(()))(()(((()))()(()))(())))(()())(()(((())(()(())(()))()(((()(())())()())()()))))(()))(())()((()(()(()))))))(((()()()((()()()))))))())()(())))))(()))()())())(((()))))))()))))((()))))(()(()())(()())()))))(()()()())(((()()((())(()()((((()()(()(((((())))()))(()))()(())())))()())))((((()(()())((()(())))))(()))()))((()()())()(())))())((()(()))((()))((()((((()))())((())(())()))()))(())()((())())())))(())(((()((()((()()(()()))())(()()))()()))(()))())((()()(()(((())))(()))))(()))()()()(()))(((()))))()())))()()))))((()((()(())(((()(()))))))())(()))(((())(())(()))())(())))(()((()()(()))()()()(()())(()((())()(()))))()(())))()()))))))(((())(()(()(()())))(((()()(()))))))(()))(()()()))()))()((()(())((()))))()((()))(()((())())()((()())()()))()((()((((((((((((()((()()()((((())((()()((((((()))(())())(())))(()()(((()(()()()())()((((((()())())(((())))))()(())(()))))))())((((((((()())()())())())))()(()((())(()()))((()()))))()((((((()()))()())()))(()()())((())()()(((())(((())))()(((((()((((()((((()))))(())())(()()))((()))((()))()))((()))))))))()))))(())(()((((((((())())))((()))()))(()()()((())))(())()((()))())))))))())))))()((()((())))()(()()(()())(()(())))()))))((((())))()()())(((())()())((())))()()((()()())((()((()((())((((())())()))()()))()(())((()(()()))))((()))()(())()((()())()()((((()()()()()))))(()((()())((())))())()(()(()))))()))(()())((((()(())())()()(((()(((()())((())()())((())))((((()))(()))(((()(()))))))))()()(())((())())((()()()())))(())(((())))(((((((())(()))())()(()()))()(((())(()())())(((()((()())((()))((()(()((()))))(()()(())(())))))((()(()(()(()(()(()))((((()((((()(())(()()())))(())()(()))(()(((())))))(()()())(())))(()(()))())()(((()(((((((((((())))()()))))(()(()(())((()))())))))))))())())()())))()(()()()))(()((())))()((()()(())))())(((()()())())())(()())(())(()))((())))))(((()))))())))())(()(())))(()(()))(()))(())))())((((()()((((()())((()()))()(())(()()()(((())))(()))(()))())())))(()(()()()))(((()))(())(((()(()()))())()((()(((()))(()()((())(()(((()))((()))()))())(()(()(())))(((()((()(())()))()))(())((((()))())()())()())))))(((())))()(()())()(((()(((((()))((()(()()()))((()(())))()()))((((((())(()))())(((()()))()(((()))))))((()))))()(((()())(()(()))((()(((()(())())((()))(())(())(()())()(())(())()))((((()(()()())(())(())((())))))))()))())()(()))(()((()(()()()))()(()())))())()()(()()(()()((()))(()((()((()())()))()()))())()((((())((()()(()))((((((())()())))()())((((()(()))))))(())()((())((()))(()))))))))))()(((((()))((()((((()(((()()()(((())()()((((())())))(())()()((())))(())()((((((())))))())))(()()(((()(())()((()()()()((()))))(()())()))()((())(((()()()))())())))()()(((()))))))(((()()()())))))()()())()))()()))())()))))(()())(()(((()((()(())()()))))())))))()()((())(((()(()(()))())((())()((()())))((())(()((((()()(()())(())((((()((()))((()))()(())(((()(()))()(()))))(((((()()))))((()))((())()((()())))(()(()()()(((()))()()()()()))())((()(((()))()((()(()))))))(((((()()()))()(())((()())))(()(()))))()))()))()((((()()(()))()())((()()()))(())((((()(()()()()((((()))()))))(()())()))((()(((((())))()((())((()())((()()()())()(()(((()())()()((()()())(((())))(()()(())))(((((((()(())))())(()))((()))))))))))))()(()(()())()(()()))())((((((((())(()((()())()())((()()((()))(()(())(())())))()(()())()))))))()))()()(()()(((()))((()((()))()())()())())())))((()))))))(()()(()(())))())))(())((())(()()))()()()()))(((()(((((()))))))()(((())()))()(())((()(())))())(()((((())())(((())()))((()())()())((()())())()))())))()))()()()((((())(()))())((()((((()())())()()(((((((()(()))()))(()(()))))())(())))(())(())(((()))())()((((())))(())()))(()(()(())))))(()()()()))(()())()(()((()))()((())))()((()))((((()()(()(())()(((()(()()()()()))(((()()())()()(()()((()((((())())(()))))))(((()()))(())))))(((())())(((((()())))())()))(())(())(())))((())(()(())))(()))())))()((()))(((()())(()))()(((()))(((((()())))))())())((()))((())()()(()())())()()(())((()))(((()(()()))))((()()(((())((())()))(())())))(((())))(((()(())())())(((()))())()(((((((((()())())((()((()((())(()))))()())()()(()))))())))((()(((()()))()()))()((()()()(()(())))(())))(((())())))((()(())()))))()(()())()(()((())(())))()(()((())((()(())))())())()()(()())(()()(()))(((()()((((()))(()))()()))(())))(())(()())()(())(())()()()()(()()(((()())(()()()()))()()))(())()()()(())()((()()(()()())()()))((())()())()(()())()((()))()()((()))()(())(())()()(()()(()((((()(()())()((()(())((())))))()(()()(()))(()(((()))(())(())))((()()((()()(()()(()(((())))))())()()))(()(()()()((((()))()(())()(()()))))(())(()((()))((()(())()((())(()(()()))()(()()()())(((()))))))((())()))))())((()(()())())))((())))(()()((())(()))((())))))()(()(((((((((()))))(())())()())))((())(()((()(()(()))()))(((()()())))()())((((((((())(((((()(((())()())))(())())()))(()(((()(())(()))))(()())())()()(((()(()))()()(())(()()())())())(((((()())()(((()()))()(((()()((()((()))())(()))(((((())())))()))()())(((()())((())()()))()((((())()))())(()()))(()))()()())()(()(()()(())(()))())))()))(()()()(()))))(()))()))()())())))()))()(())((())(((()))(())(((((()(()(((()))()))))((()(((()()(((()()))()())(()()()(())())()()()(()()))()((())))())()(())()()()()())(())))))()(())((()()()))))()()()()(())()(((((())))(()()))(()(()(())((((())()(()))())))(()()()))((())(()())))(((())(())(()(()())(())))(()))(()(()((()(((()(()))()()(())()((()(()()()))()))((((())((())()()()((())()()(((((()(())))())((()))(())(())))()()(()()))(())))(())((())))())))(()()())))())(((((())(())))))()()(())()(())((((((()()((((())()(((())))(()()(())(()())))(())()()())()(()))))((()())()((())((())))()(())))(())())((()))())((()(()))((()(()((()()((((((()()()()(())((((((())()))()(((())))((()()()()((())()()(((())())))()()())(()))))()))(()()(()())(()()(())(()))(()))()()((()()()())))()())(()(())(((((()()((()()()()(()())())()))))))))()))(((()(((()())())(((()))))()(((((()(()))()(((()())))(()(((((((()(()(()((((()(()()()()())())()((())()((((((((()(()(()())())(())()))())((((((((()()()((())))((((((()((((()()))((())(())(()((()()())(((()))(((((()()(())((((((((()(()))))))))))))(()))()))(()()())(()()()(()))((()(())()())(((((()))))(((((())()))))))(()()()(((())(())())))(((()))((()(()(()))(()))((()()))())()((()())()(((()()()()))())))))()()))((()())))(((((()))(((((())()))())))())))(()((()()))(()))((()))()((()()))()()(())(((())(((())))))()))))((()))())))(((()))()((()((((((()()())())(()()))))(()()))(((((()(()))()))(()(()((((()()()((()()))))()((())()()))()))(((()))(())((())()())())(((())()())())())()()(()((((()))()))()((()()())()(())((((())()())))()((((((())())()(()(((())))((()(())()()))((((())(((())))()(())()(())())))()))))(((()()())))(())(())())((()))()((()()((()((()()())))(()(((()((()())())))))(())((((()(((())((((()(())()()()))()())))((()())(((()))())))(((()()))(((((())))))()))())())()))()()()()((((()()()((((()(((())(((((()()(((())(()()))()()(()))))())(()))((())(()()))(()))((())))((()))))()(()((()))()()((((((()(()()()))))))())()()()()))()()(()()))(())(())(((()()()()()(())()())()(()(()))()))((())((((()())(()(()))())()(()))()(())(()(()))))))))(()())(()((((())()()(())(())(()(())()))())(()))()())(((((()(((())()()())(()))(()))())((()())(()))))())))(())()(()(((((((())))))((((())()()()()((())))()(())((()))))))())(((()((()()))()())))))()))())(())))((())))))((()))((()())(((())()())()((()(())((()(())(())))(())))))()()))))))(((()())())((((((()(())())((()()(())())()))))()))(()))(())(())()(()(()()())((()()())())))()(()()(()))()(())((()(()())()(())())))((((((()()(())))(()((()(((())(()(()))()((())((()()(()()))(((()()))()(()(())(()))()))(()())()(()()(()())()((()())((()))()((()()()()(()))(((())()))((())()))()((())(()(())()))()(())()())((()()))))))())))())(()()(((())()(((()))))))((())(())(()()(())))(()()(())((((())))(((()((((((()(()(())(((()))(((())))()((())(())((()())())((()))((((()()(()))())(((())))()))(()((()((())()))))))))))()()(()())))(((()((())(()))(()))(((())))((())((((()()(((((()))(((())((()((())())()()((()())))))(((()()))()(()()))()))))((()())()()()(((()))()))()((()()()((()(()((()())(())(()()(())(((()(()))((())))(())(()())((()(()))(((()())(()))()((()))())(((()))((()()()))()()))()())(()))))(()(()())(()()(()(()()))(((()))()((())()(())((()(()()())())(()(())((()))(())())((())))()()()(()()()()))())))()))))()(()()((((())())()()(()))()(())(())(())))((()())(()))))()()())))))()())()))()(((((((()()()))(())())))(((()())()((())(()())())()))()))()())())((())))))))(()((())))))(()()))()()))))(((()((()()()))(((()))((((()((())))))(()(()))()))(()))()))()(()((()))()(((((()((())(()(())))()(()(())))))))((())(()(())())))()))))))()(())())()(())))))))(((()(())))))())(((((()()(((())))())))(()((()))((((()((()((()(()(((())()(())()()()()((((()())))()())))()))))(())(())())((()(()(())(((())))(((()())((())))))))()())())))(()(()()())))(((()(()(())(()))()(()))(((())(())(()())))((())())())(())()()(()))))()()))())(())))(()(()())((()(())()))((())(())(((((())))()((())())()))()()))()(()()())()((()((())(()(()()()))()))()((((((((())))))((())((())()()))())()))(()())(()()((()((())()))())(()(())())(())))(()())()()()()((((((()()))())()))())()()()()(()()(()()(()))(()((())))((()(()))())()()()())((()))()()(()((())(((((())(())))())))()()())()((())()()((())))()()()(()(()))(())(())()()((()()))()(((()()()()())))()((()())(()))()(())((()()()(()())()())())()(())((()))()()()()((((())(())(((()()())))))(((()))(((()()(((())())()()((()())))(()()))))))()()((()((()(())))))((()((((((())())))(())()(())()))(((())))(())))()()((()(()())())(())()((())()()()))()(()())()((()))(((())))()(())()(()((()()(()(((()()))())(())))))()((()(((()(()()((()((()())((()())()))))))())))(()(((()())((()()((())))))())((())(())(())(())()((()((()((((()(())()()))())()((())(())(((()))()))((()()))()((()()))())))(()))()(())))(()(((())(()())))((())(((()(((()((((((()(())((()((())()((())()())((()())(((()((()()(()((())()()(())))()))))))((())))))()()()(())((()))))))))))((()(((((()))(((())()()))((((()(((()))())((()(())()))()))()((((()()(()())))()(()(()))()))(()())())(())))(((((()))(())()(()()((((()())())))()(()()))))()(())())))()()))()))(()())())())(())()))((()()()))))()(((())))()()()()()(())(()()()(())()())()()()((()(())()())(()())())(())()()((())((()()()())))((((())(((()))()))()()()()()(()()())))(((((())((()))))))()(()()((()(())()))((((())(()((()))(())))()))(((())()(()(()))())()))()((()((())(())((())()((((((()(((()((())()())(()(()))(((((((())()(()))))()()())(((()))())))()()((((()()(()()))(())))))((()((((()))())()((((())))())))()))))))()()(((())())()()())()))()((())))()))()))(()((()))(((((())()()))()()((())((())((()()(()()())))())))()))()()()()(((()()())))(())(())()(()())()()()(()())()()()()(()()()())((((()()())))())()(()()())((((()()()(()(()((()((()(())()))((((()))((()(((()))(()))(()))()(()(()((()((()((()()()))((()())()(())(()(()(()((((()(()())()()(((()()())()((((()(()((()(((((()()))))))()))()()(())()))()(())(()))(()()()(()(()(()()))()()))(())(((((((())())((()()(()))())))((()()))((()))((((())(()()()((((()(((()(()()())(((()()((())))(()((((())()(()())((()())((()))())))))())))))()(())((()()()))(())()))))((())((((()(()()))()())((((((()()))))()(()()()(()(())()(()()())((()()(()())(())(((())((()(((()))(()))())())(()()()((()(((())(()))((())()()(()))(((((())()(()()()()(()()((())()))())(()())))((()()((((())()()))(())()()(()())())()(())()((()((())(()))(((()()((()))())))))()))()()(((((((((()((()))(()((()())()(()()(()))))))(()(()))))((())(()((()))()()()(()()(((())))())))(()))(())())()))(()(((()()))))(((())((()))()(((((())))))()(())(((())))())(((((((((()()((((((((()((()()()((()()))()()(())))()(())))()))()()(((()((((())))()))())))((()(()())()))()(((())((())())((()))(()()()()(((())()))))))(()(((()())(()(()())(()((()())))((()()))())((((())(((()((()()())(()()))(()()(((()))()()()))())()))))))((((((((()())())))))())()()((())))))((()(())(()((()())))((((()(((((((())))))()((()()()()(()()()()((()())(()))(())()))((((())((()))))()((((())()(()(()()()()(((((()())((())))(())(()()()))))())()()(()(()))()((()((()()())())()(()((((()()(()()((())(()))()()(())()()(()((()))(()()())()()()()()())(()()((())())(())))(()())())((())()()(()))())()()(()(())(())())((((())()()(()(())())(())((()()()()))()()(((()()((((()))(((()))((()()((()(((((()()(()(()(()()()())()))(())))())))()(())()((((()))(()()())()()((())((()))()()))())((()))()))))()()()((()(()))(((((())())()(())))())))((()()()(((((())(()(())))())(())(((()(((())())(()))(()(()())(()()((()(((())()))()))(()()())()))()))(())((()))()())()()()()()((()()((()(()))(())(((()()))()(((((()(((())())))((()(()(((()((()((())()))((((((()((()((())()()())(()))))(()())(()()))()())()()))(()(()())(()(((()))())(((()))(()(()))((())()()(()())()))(()))()((()()()(((()()())))((()(()(()((())((())(())((()))())))((((()()))))(((())((()()((()((((())(()(((()()(()(((())))()))(())()))()))())())))((()))())(((()))()))))((()(())()((()()))))())))(((()())(()))(())(())(())()()(()(()(())()(()(()((()(((((())))())))())))(())(((((()))))(()((()(()())(()(())(()(()()))()))(()))(())(()()))))((())))(((((()())()(()()())))()()))((())())()(()))))((())(((())())())((((((((((()))(())()(()(()((())))())))()(()))))((())())(((((()())(((())((((((()))())(((()(()(((())((((()()((((()()))(())(((()()((())))))())))()())()((())((()))()())()))(()((()()())())((((()))(()(())())(())()(())(((()(())((((()))))))(()()))()()((()((()()()(())())()(())())()))((()))))(((()(())))((()))()()()((()())()))(())))()())()))(((((((((((())))((()(())))((()())))())((()))))))()))()(((()(((())))((()((()))((()((())((()((()(((()())))((())(()))()(())((()()()((()))()((((((()()))))(())(())((())(())))()(((())(())))()(()()())(((()((((()(((((())()(((((((()(()(())()(())()))(())((())()(()()(()()(()()((()((()(()(()()))())(())((((((()(()()())(()()(())))()((()(((()()()()(()(()))((())))()))()))()))((((((()))))((((()))())(()))(()(((((()(()))((()(())()(((())((()())))()())(())))))((())()())((((()()(()(()))))))()))))(())((((((()()())(((((((())(((((())())))((()))())))()()(()())())(())))(())()))))(())))(())()(()((()((()))))()()(())(())())())))((()()((()(((()()((()))))()((())()(()()))(())())(()(((())))()(((((((()))(((((()())())((()()()()()(()((()(())()(((()())))(()())((())))))()))))()((()()((()()))((())()))(()())((())()()(()()()()()()((()()(((((((()())))())(()))))(())()(((()))((()))()()(()((()()(()))))(()))((()(((())(()()())(()))(((((()()())((()()()))()(())))((()()()()()(()()))))())()()))()())((()())))(())(())((()()(()))()))(()))(())(()(()((((()(()(((()))(((()))()))((()()(((((()()()))()()((()())))(((()())(()()()))())(()(((((()))((((()()))()(((()(()()((((((())()()()))))()(()(()))()()(((()(((())))(((()((()))())()))()()())()()(()()())())((()(())()()))((((())))((()((()(((())))(()((()())(((()())))()))()(()())(((()(((())(())()(())())((()()())()()()((())((((()(())))())(()(()(((()()())((()())())()())(()()(())()()))(()()()))()())()))(()(((()()(()(())(()(((()()()))((())())())(()())()))))())()(((((())((()((()))((((())))())())()))))(((()(()(()))(())))((()(()))))())(((())(())))()(()(()))())))()()()(())((((()())()))()((())(()()(()()(())()(())))(()(((())((()))())()())(()))()((((()()(()(((((((((()()())())))))()((()()))(())())((()(()()()(()))))()()(()))()))))(((()())())(((((())(((()())(((((())(()))))())))()(()())(())()())((())))))))()))())((()))((()()()))(())))())))())(())))))(()())()))))(()())(())()))(())((()()(())()((()()(((((()))()()))(((((()()(((()())((())(()()())()()()()()))))((())(())))))))))((()(())())())())()()((((((((())(())(()(()())(()()))((((()())()((()(())))(((()(())((()())(((()()))(()(())()))))))())()()))()))(()()(())()))(())())((()))((((()((((()(((()(((((((()(())((()()))((())()()()))()((()))()))((((((())()((()())((()()))())((())((())((()(()())))(((()()))()(((()))()(((((()((()())))())()()()))(((((()))(())((())))))()()((()(((((()))))(()())((())))))()(()()))()(()(()((()))((((((()())()())()((()(())(((((()))))())(()()))()())))()(())((())(()())())((()()))(()(()()(()((()((()))()(())))()))(((()()((((((())()()()))(()))(()))))(()())(())))(((()((()())(())))))())((((())))(()(((()()()()()))()()())))(((((()()((()))((())())(()(()((()((((()())()())))())()((((((()()())())((()))(())))(((())))))()()())(((()())))((()(()()))(((()((()))()((((()))()))(()((()((((()((())((((())())(((())(())))((((()))(())))(())))()((()((((()()))(())))))))))((((()()))(((())(()((()(()()())))((((())(((()))((((())())(((()))((())()()))()()(()()()))()())))(())(()(()((()(()(()()))()))))()())))())()))))())()()))(()())))(((()()(((())(()(()(((((((((())())(((((()()()()(((())))))()))))(()())))(((())()((((())())))))((((()((()())))()(())()))(()()())()))((((()())(())((((()(())()(()))((()()(()((((((()()))()))((()(()))((()())())))((()())((()))(()()())))))((()())((())(((()()(()()())))())))))))())(((()()))(((())()()(((()()())())(((())((()))(((()()))(()))())()((())()((()((())()(((())(())())())()(()((()(()))((()))()))(())(())())(((())(((()()()))())))))((()())(()(())(()())(()()((()))))))()()(())()))())()))()(()((((()()()(()()))())(())())()))))()()))((()((((()))))(())))()((()(((((((((())))(()((()()((())()))))(()())()))())))())(()(()))(()))()(())()(())())(()(()((((((((()(()(((((())))(((()(()()())()))(((()))(((()(()((((((())((((()(())))(((((())(())((((()))()())()))))())())())(()()(((())((()()((()()())(()((())(())((()(()()())((((()))(((()(())()())))(()))))))())))))(()(()()()()))))(()((()((()()(()((()(()(())())(())()())(((()))())))(()()((()))())))))()())(()(()(()()(())(()()()))()((((()(((())))(()(())))(()(()()()()(())((((())(())(()))())((()))(((()))()()))((((()()((()(((())((((()((()())()((())((())()))())))(())((()()))))())((()))((()(())))(((()()()()())(((((())((()()))())))(((())()()())(()())()())((((())(((())))())(((()()()()(()()((()())()(()))(())(()))((())(((()()((())((()())((()(())))())()(()()(()(())))))()()((((()()((((())))(()((()))()((()(((()())))(((((())(())())())))))))(()()))(()())()())))((()(())((((())(())))))))(()((()((()(()))))))((((()))))((()()((()((((())(())()))()))((((((()()((((())()(()(())((()()((()))((((((((())()()))(()()()(())(((()))(()(()((()))()()))(((())())()(()()))())((((()(()()))))()(())))((((((((()()(()(())()(()()()(())(()(()))())))))()()()()))))((())((())()((())())())())()()))(()(())()((()(())(()(((((()((()())(()(()((()(())()()))))()(())())((((((()(((((((())))((())(())((())((((((()()((())(())())))(((()()(((((()())))))(()((((()(()((((()))(())(((()))(())(()())))((((()())))()((()()))))()))()()(()())((())(()(())((())()((()()(()))(()(())))((((())(((((())))())))((()()((((())))((())())())(()(()()((())()))((())((()))()((())((()))()((()(((((()(())(((())(()()((()))(()((()))())(()()((())()(()()())(()(())(())((((()()(()(())((()()())(()))()())()))(())()(())(())(((()())()((((()(((())))())()))))))(((()())())()()()()()())()((()()()(((()))((())((((((()()((()())()(())))))((())(((()())))))(()(()(((()((()())))())())(()))))(((()(()))(((())()(()((()()())(())))((((()))()()((()(()()()(()(()))()()))((((())())())))())))))((()(((())())))))))()())()()(()))((()()()(()(())(()))))())())()()(())))()))()(())(()((()()(()())()((())(()()))((()())(()((()(())((()(())(()((())))(()())(()()()()))())())))()()()))))(())()(())()))(()(((((()))())()(((()()()())())((((())())(()(())()))()(())))()))))(()(((((()((((()))((((())(())()(((())())))()(())((((()(())))(((())(())(((())(())())(())(((()))()))()(())(()((((()()()))()(((())()))()((()((()((((()))()))()(())))))))())(()()())())(((()))(()()))()))(()))()()()))()(())()((()())))()(()(((((()()(()(())))()(((((())()((()))(())))((()))(((()())())()()(((())(()())))((()))((()((()(((())(((())()())())))((((())))()()))))(())((()))((())())(())()))(())(()(())(())))()(())(()))()()(((())((()()()(((()()((()(())()((())(())()())(())))(((()(())(()())()(((()(()()))((((((()()(()()(())()()((()())(((()))(((((())()((())))(()))())())())()()(()()))()())(())((()(((())()()()))()))))))((((()((((()))(()((()())(((()()())()())(((()))())))(())))()))()()((()())((()())((()((()))()((()())()())))(()())()()))())()()((((())(()))((())))()((())(())))))()))()((()()()))))))))()))())))((((()(())((())(((()))())())(()(())(()()()(()))(())()))((((()))((()())(()))()(()()()))))())())(())))(()()))((()())()))(((())))(((()()(((()(((()))())(()()((()()))(()))((())()(()))())((()()((()((())))()))))(((()(((())))()())(())))))(()))(()((()((()))(((((((()(())))()()((()(()))((()))))()))()))())())())(())()(()((()()(()(()()()))(()))())()(((((()(()())(((()((())(())(())))())(())())(()()))()()((()()()))))(()))((())))))))((((()()(()((())(((((())()()()())))())())())(()())))()(())((((())(()())))((()((()(()(())(()())()(()(()())((()()))(()(())()()((())((())((()())(()(((((()(()))()))((())()()()(()()(()))(())(()()()(())))()))()()(()())(()(()))()(()(((())(()))()((()))()(((()()()())())()(((()()((((())))(())(()))(())()((()())(()()))(((()((()))()))((()(())()()(())))())((()((((((()()(()((()()()()(())())())(()(()()()())))(())()())))(()(()))())((((()((((()))())()((()))(()))))))()(()))))(())))())()))()())(()))((()(()((()())))((()()()(()(()(()((())())()(())))))((()()))))(()()()(((()(((())()(((())))())((()((())(()()(()))))())())((((()()())()()(())))))(())))()()(((())(())()()(()(()(()()(()(()))()()))((())(((())))))(()())()((((()))(()()))((()()((()()((((())(()())((()(())()(((()))))))()((()((((()()(()())(((())))(((((()()(((()())))(()))))()()())(()((()())())(())))(((()()(())(((()))()))()(()()))())())))(())()(()(((())))())()(())))))(())())(((()))))((()))()(())()(())))(()(())((())()(((()(((())())()()))())()))(()()()))())((()((())))((())()())())((()))))()(((())()(())))()())))(())(()(()))))))()))()()()()((((())()(()((()))((()))))((()))((()(((()((())))((())))(()()))()(()()())))))))()(())))(()))(()))()))(((()(())(()(())(((()))((((()))(())(())()()((()((())())()))(((()()))))))()))(())()()(()))))(()))))()(((()))(()))(())))(()(())()))())(()(((()))))(()))()))()()()(())(()))(())((((()()((())()((())()()))(()((((()(())(())))(((((((())))))(()((())()))()()((())()()((((((())(()(((()((()))()()()))(()(((()(()(()))()()))())(())((((((()))()))((()))()((()())))))))())())())())())()(()))()))))())()()()))(((())(((()()((((()))()(())))()(()(())))((())(()))(((((()()()))((()()()(()))(()))))()())((()())()))()())))(()))(()(())()((()))))(()))(((((())))())((()))((()()((()(())((())()()()))))))(((()((()(((((())())((((((()()))())((()()())((((())())()))))))()((()()())))))()((()))()))()()())))()())()((())(())())()())(()()(((()))())())()())())()((()()()((()()(())))()((((())()()()()()))))())(())((()(()())(())()))((()))()(((()()()((()((()))))()())))(()))))(((()(((()()))((()))))))(()()))())()()())))(())(()))()(()))))((()()))()((()))())()())))))()(()()((()(((()()()()()(())())()))())())(())))((((()()()))))))()()((())(((()))(((())((((()))()))((()(())(()())())((((()()()(((())))()(())(((((((())(((()))))))))())()))((()(()()()((())))()(())()))(((((()))()()(()()()(()))((()(()))(()()))))))((()(((((())(()))()()(()()))()(()))))())))()()))(((()()())()(()(()(()))((()(((()))(()(()()))))))(()(((()())()()())))()(((()()())(((((())()()()((((())))))())()))))(())(())()(())))(())))()((()((())())(()()()(())))())()(((((((()()))((()))))((()))())()()((((((()()()))())()(())())((((()))()((((())(((()((())(((((((())((())())(()((((())())())))(()(()))()((((())))(((((())()))(((()())()())))(((()))(()((())))()(()()())))()))())))())(())(()((((())(()(()())())()()(()()())((()()(()()()()(())(()))((()))(())(()())()()())(()()))(()((()()(())))(())(()())))))())))(())((())()())((())())))(()(((()))(())(((()(())()((()(((()(())((((())(()))))()((()((()()))))()(()(()()))()()))()()(()()))()))))(())))()(((((()())()(((()(()()))()()(((()()))))())))()())(())()())(()()))))((((((((()())()()))))((()()((()()))((((((())()((((()()))()())()()()()))())()()((()())(()(()((()(())()(((()))((((()())))())))())))((((()())(((()((((()))())())((()(())))()(()(()(()))(()()))()()((()()(()))((((((((())())()(())))))))))())())(()((()((()(((())))(()())()()()()))()))())))))()))()(()(())()(((()((()(()))()()())()()((()((((()()(()()))()())))(()()))((())))))(())(((()((()()))))))))(()))))(()()()((()((((())))()(()((()(((((((()))))()()))((())(()())))(((()()()(()()(((())))(()(()()(()))(((()(()()(()(((())(((()(((()(()))(()(()()()))())()()(((())())))(((())(())())())(()))((()(()(()))))(()))))))()))()((())(()(())((((())())()(((())(()(()(())(()))))((())))()))))((())(((()()()(()))()(((())))))(())))((()((((()(())()(()(()()())(()()()((())()()))(((((()))(()()((((((()(()))))())))()((()()(())(()()(()())))()))(())(((()((()))(((())((()())(((((()((())(())))())))())((()()()(()()((((((())(()()())(((((((()))()()())(())(()))((())(())()))((()))))))))((((()))(((()((((()(()())((())(((())))))((())(())()()))())())(((())(()()()(()))(())())()(()())(()()))(((()))))(()(()))))(()()((((((()()())((()((()((())((()))()))()))))(())()())())())())))(()(()(((((()()())())((()(((())()()())()()))))))((((()))))()()((((()))))())()(())())))()()()(()((())(()))))()()((()))))((()))))(()())))()(()))())))))))(()((()(()()()()(((()))((())((())))(((())(()))(())((())(())(((((())())))))(((())(())())()((((()(()()()()((((()())())(((()()(()((())((()))))(((())(((()((()(()))(((()))))())(()))))())((((()(((())((((((())(((()(()))((((()))()()())()())))((((((()))(((()(((()((())()())((((())()())((((()()()()()()))(((())))(())(((((()))()()((((((())))())())()))))))()))()((((()))()))(((()()())()))(()()()))()((()))()))((()()))(()(((((()(()(())))))))())()()((((((()(())()())(()(()()((())()())())(()()()((()(())())((()))())(()))))()(())())()(())()))(((((())((()))()((((((())))((())(((())(()))()(()(())(())(())()))((()(()(())))()))())))(())()()(())))))())((()(()(())()))()((())(()))()()()()(((()(((()()))))))()(()))))))())))))())())()(()(((()())()()))())))))())))())(())()(((()()())))))(())))))((()((()())(((())))))()((()()(())))((((()(((()))()()()(())(((()()))(()))()()(())())())))))))(()())()((())()())((((((()()))(()(()((()))((()()(()(()))))))()())((()()()))()())()))))()(())(()()))((())))(()()(())()))((((()()(()))()()))())((((())))()()(()))(((())(()))()(())()(())))()())())(()()))((()()))(((())))(()(()))(()(()(()(()))()))(()()))((()))(()(((()(()(()()()())(()(()(()(())(((()(((()(((()(((((((()))(()))(()))((()((()()()()((()))())(()))()()()(())))(())))((()()(()))(((())))()((()()()(((((())))((()(()))((()()(())))()(()()((()(())()(())(()((())(()())())(((((((()))()(()()((()(((((())(()(()((((()))())()()))()))))()()()(()((())))))((()())()((()(())))))))()((()())))())()))()(((()()(()(()(()())))))(()())())())(())())))()())()))(()()))())()))()()))(()))()())))((())(()(((()(())())))()(())((((())(((()))()))((())(()())))()))))(()()(((())))))(())()())(((()(((())((()))))))))()(((())((()(()(((((()()()()()((())))()))())())(()()((((((()))((()()))))(((()((((())()((((())()()()()((())(()(()))(()))(()(())(()))()()(((())()((()(()())(())(())))))()))(()((((()()(()))(())))((()()(()(()))())()())(()))()))()()(())))))()()(()())())())((()()((()()())))()((((())()())(((())())))()(()()(())()()((()()((()())))((())(()())))()))))))()((()()(()()()))(())()()((())))))))(()())(()((((())((()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()()((((()))()))((()(()((())((())(()())()(()())())()()(()((((()))()(((()())))())))())((()())))())))()()()))))())(()(((())))))))()(()((((((())())())(()))((())()))(())(()(()((())))()))))((((((()))))()()()(()(((()()(())(()())((((()))(((()()()()(())))()(((()()(()())))))()))()))()(())()()(()())))((()))))(())()()())(()))()())()()((()))()()())())()())((()))()))()))()))((())()(((()()))()))))()))((()()))))()()()((())()((()((()()()()()())()((((()()())(((()(())((())(()())))))(((()(()()()(()(())))))))))))())((()))))(()()(((((()(((())(()((())(()()(()()()))((()()())())())((((()(())((())()))((((((()))(())(()()()(()((())()())))))()())))(()(((())())))))))()(())()))))()))()()((()(()))))))(())()()()())))(((((()()()))))(()())()((())))))()()()())(((()(()(()()(((()(())(()))(())())(()((()()()))(())(()((()))))(((()((((())()()((((((()))(((())(())())())(()()()))(())))))(((()))(((()()))((((())(((()()(())(()()()()))()(()()())))(()))(()(((()())()((()))())))))((())())))))()))))())())(())(((()))((((((((()))))()()(()(((())())()()))))((()(((()()((()())))(()())()()()())()()))()))(((())()))(()()()))((()(())(())()))()))(((()))(((()()(()))()()))()())())(((())((())())(((())))(()())(((()()((()))((())())()()))((((())(()(())())(((()))))()(()))()))))(()((((())))())()(())))()(()())(())(()(())())))()(()((((()()())(()))(()))()))()(()(()())))))()()))())))))((()))))()(()()))))())()((((())()()))(((()())))(()()((())()((())(((()()())())()))((())((((()())(()()((()(((()((()(()()))()()))))())()))()()(()())((()((())(()(()(((()))((()(()(()((()())(()()(()()()()(()(()(((()(()))()))))))(()((((())())))(()((()((())))))()(()()))()(())())()))()()((())((()()(((()()())((((())(())()())(())))))(((()(()(())))))))(()))(((((((()((()))))((()))(((()))))((())()))((())))(((()))((()((())(()(()())(()))))())(()(((())(()))(()))()))))))((((())))))(()())()((())))())))(()())(((()(()((()()((())))))(((())()())()())()))))()))()((())()())))()))(()()))())())(((()((())))))(((())()(()())()())(())))()()(()(())(()()))())()(()((()())))()())(()())))(()()())()))()()(((())())(())())(()()))))()()()()(()(())))((()(()(()(()())(()())((()))((())()))()))((()(()()()((()(()()))())())()(()()())()((()(())((())(()()))))()))))(()())()))(()(())))))(((()()))(()))))(()((()()))))(())(()())()))()))())())((())())))())()))(((()))(()(()())((()()))())((((()(()()(())()(((())())(())())((()((()()))())))(())(()))))()()(()()()))()()))()(())()(()())(()(()((((()(())(())(()(()))()((((()()())((()((()((((()(()())(())()))))))((()(()((()))(())(()))((()))))(()()()))((()))((((()((()(()))))(()((())())()))()((())()()((()))))))))))((())))()())(()()))((()())))((()())())())))())))()())(()(()))(((((())()())()()())(((()((()((((()(())()())())()(())()(()()((()(((()))))))(())()(())))(()(((())))))))((()((((())()))(()(())(()())))(((()()()())(((()(())()((()()))())(((()(((()))))(())())))())))()))())())()))(()))())()()))()(((()))))()()((()(())())(()(()((())(()))(((()()(()(((()()())((()()))()))(()(((()(()((())((()(())(())((((()())(())))(((()((()(((())())())((()()())()()((()()))()((())())())(())((())()())((()))()()()))())()()()))(()(()))()()((((()(())(((((())(((()(()()((((()()())(()())()()(())()()))()()((())(()))))(()()()()((((()(()))(()((()(()()())(()()((()()((((()()()())(())))())())((()())))))((()()(()()()))))(((())))()(())))((((()(((((()((())((())))(()))(()((()()(()))()(())()))(()((()((())(())(()((()((((()(((((((()(())(()))(())())()))()((((()(())))()))(()((((((())()(()((((((())(()())((((())((())))()((()))((()()()(())))(()())()(())(()()))(((()(())(()((()()))))))(()()))))(((()()))((((())(((())())))(((((()(()())(())()(())(()))())())())()))(((())()))((((((()()((())((()))())())(((()(()))(()((()())()(((()()())()())))(()()((((())()))))((()(())((()(()())(()((()()()))(())(((((((()()(())(()(())((()(()))))())(())()()((()((()(()()()())()())(((())((())(((((())(()(()))))))(())(())())))))))(()))(()((())))())((())()(())))(()()())(())))))()(()(()()(()(()()(((()((())()()()())()(()(()()())(())()((((()(()(((()()))(()))))(()((()(((()())(())(())))((()())())(()))((()(()()()))()())()))())()()((()((((()))(((((())))))))()()((((()()(((((()(((((())()(((()(((())())))())))))))())())((()()))(())))()()())))(()(((())()())())((()(()((()()()))()())()))))()((())((((()(())(()(()(()())()))))((((()((()(())(()))()(((((((())((((((())())()()))()(())((())((())))()))))(()()))))(()(()()()()((((()()))())))(((()(()()))()((((()()()(()))())((((((()(())()(())(())()()()())(()))))(()(((())))()(()(()(((()))())))(()())(())()()(()(((())(())))))(()))()((((()((()()))())((((()((())()(()()))()))))))((()))())((((((((((())(((())()()))((())(())()(()())))))(((((())()))())))))())((((((())((((((()))()((()((())(((())()((((((())))))))()()()(())))))(())())))))(()))())()))((((()((()()((())()))(((((()()))(()(())()))()(()(()))()(())())())))))()()())())()()()(())))))(((())())(()()))())()(())(()(()(()(()))(((())(())()(((())()))()((()()())(()))))()((()((())((()))))(()((()((()()))((((((((()())())((((()())()))))(()(())(())(((()((()()))()(((())(())())()((((())()))))())())))))())(())()))()(((()(()))))()))(()))()(()()())((()(()())(((()())))((()(((())((((()(()(((()()())())))))((()))(()()))((((()))(()((((((((())()(()))((())(())((((((()))())(())))))))()(()()()(()(((()))(()(((())(()()))()))))(())())))()(()(()(((((()()((((())))))())((())())(((()()))())()(((((()((())(())()()((()))((()((())((()(((((()))()()((((()()(())((()(()())))(()))))((()()((((()(()))())()()((())(((()()))()(())()())(()())(((())))))(()))(()()))))()())())))()))()))(()()))))))))()((((()((()((())))(()))())()()(((()))())((())(((()()(((((()))((())(()(((()()(()))()((())((((()())))()()()()(())))())()))(((()(((()))))()()(()((()((()()))()))(((()))()()())()()()(()(())((()())())(()(()(((())((()(())()))))(((()()())((()(())()(())((())))(()()((()))()()))((()((())(()()())(((()()()()()))(()()(())(((())((())((()(()()))((()))((()(())()(()())))(()))))())((()()(()(()(()))))())())(()))(((()))()(()()(((()(()((()()())))()(()()))()(()())(((())))())()))())()(()()(())))()())())(()()())()))(()))()))(()()))()))())(((()())))))(())(()()()(())(())()((((())())))))))((()(()(((()()((()())()(((()(())((())))())(()())))))))((()()()))())))(()))()()(()(())))((())()((()((()()(((((()))()()))))()())()))))())()()(()))())))((()()))(()(((()(()()(()))(()))()()))()((()())()((()((((()(()()(())()()())(((()()(()(())()((()())((()(()()(()((()()(())((()))(())())))))((())))(((())())()()(())))((()(())())()(()())(()))())()))(()))())))()()((())(())(())()()()(()((())())))((()()(((((((())())()()())()))((())))())(()()()(()()))())))())((()()))()(((())())(()())(())(()()(())(()((()()()())((()((())((((((((())())())()))()))())(()((((()))()()()(()()))(()(()((()))()()((()()((((()))))(((((()))()(())((()()))(()))()())(()(()())(())())()(())()))()))(())()()(((()(()()()))()()(()))())()()((())(((()())())(())(()))))(()))()()(((()())())()()()())())((()))()(()(((()(()())()))(((())(())))((((()(()((()))(())))())))())))()()))()()))))((((()))()()()()()()(())()()(()(()(()())))))(()((((()())(()((((((()(()()))()((((()())((()()()(()((()()))())())()()(()()((((()))((())(()))))((()()()()))(()((((((((((())(())()())))))()())()(()(()))((())()(()))()(((((()))())()(()()()))))(())((()(()))()((((()((((())())))()())()))((()()))((()))()()(())(((()))))))((()()(()))())))((()((()((()()))())()(()))))()))())))())()(())))(()()))))())))()())))())))))()()()))(()))((())))()()())()()(()((())))(((((((((()()))()))))))((()(()(()(()())((()()()))))()(((((()()()(())(((()((()(())(())(())((()(((()))()))()((((((((()()()(()()()()((()(())((())(())))))())(()()(())((()()))()()(()()())))())())()))))(()))(()()(()(()(()()))))))()())(()()(()(()))())(()()))(())(((())))(((()((())(())))))((()))())(((())(())())(()()()()))((())()(())()))()(())((()))(()()()())))))()))())))()((((())((()))((()((((())())()(()()(()(())))()((())))()())((()())))(())(()))()(((()(((()()))))()(()())()((()()(()())()))()))()))()((()(()()))())()))())()))(((((()()(()((()(()))(()())(()()()((()()((()))))()()((()))())(()())((()()()))())))))((()(())(()))())()((((())))((()()))(((((((())(()(((()(()((())()(((((())((()(((()(()))))()()))((())((())())))))())())(()()))(()((()(((())((())()))))())))())((()()))(()))((((())()))()())(()()()))()))))(((())()(((())(()(((()()()())()()(((((()))())()()))())()))())))))(()())())(()((())()(())()(())())()))(()()((((((())))())))))()())()()())()(()(()())()((()))()))(())())(()())()))()())))))((())(()(()()()()(())))())(((())))))(())((()))()((()())(((())))(())))()(((()(()((((()(((())(((()))())(()(())(()(((()()(())())(()))(((((()(()))()())))(((())))()))(()(((((())))))))))()))())))()(())((()(()()))()((()(()(()))(((())))(((()())()())(())(()(()()(()()()(()(((((()(())(((()(((()))()())((()(()(()))))())(()(()())((())(((((()))(()(((())(((())(())())()())(())))(())(((())()())(()()()))((()(()((((())))(((()()()((())))(()))))())())())((()((()))()()((()()()(((()()))))))(()()()((((()))())(()(())(()))(()))((()(((()()))))))(()))()()())(())()))(())((())()())((())((((()()))((()))(((()(()))((()(())())()))())(())((()))))))())()()(()))()())))))))()))(()(()(((())(())(())()()()(())())(()(())())))(())((()())))))()(((((())))))(())(()))())))))))()()((()()())(((()()))(()(()())())))(((()(()()))((((()()))())(())()))))())))()))))))(()())())())))(())(()(((()((()()()(())())(()(())))))(()))()))))())(())(()))()))())))()())()((()())(())((()(()()(())()())()(()())(((()(()(()()(((()()(((())(()())())((((()((()(()))()())(())()()())))))((())(()))((()())())(())()(())))()((()))))()())((()(()()))((()(((()(())()(())()())(((())(())))())(()))(()))))))))(((()())((()())()(())(()(((((()))((())())()))()(()(()(((())))()))()())(())))())))))))))))((((()((((((()())))(()(()((((()())((()((()(()(()()))(((((()((()))(((((()))()))()()))(()())))()))()(((()()))()())(((())))((((((()((())()(((())(()))((()(((()())(()))()(()(()))()(())(()(()))()(())))((()()(()(((()()()))))))(())))()())((((()()))())(()((()())((())()(((((())(())(((()(((())())((()))))())()())()())(((((())(()()(()()))()()()()(()(()))((()(()())(())))()((((()())())))((()))((((()())())((())))()))(())(()))(((()((())(())())(()((((((()(()()()())())))()()))()()(())()()(()))(((())()()))((((()()((())())()()()((()()))()))(((((())))()()(())(((())()()((()(((())((((())()())())(()))(((()))((((())))()))(((((((()()))())))))()())))))))(())(()()(())()((()()())())())())))(((())))(((()((()(((((()))))())((()()())))((())(()))))())()())(())()))))(())(((((()())(()))()()))(((()(()(()))()()((()))())()(((())))(((())))((()()(())(())()()))())(())())))))))))(((()))())(())(()()(())()))()(()()(())(()())((()()())())(((()()(()(((())()())()))))(()))()))())()()((()()())()))(())()(())(()((()))()())()())((())(((((()(()())()(()))))(()))()))(()))()))((((()))))(((())((())(()))())((())(()(())((((())(()))(())))()))))())())((()()))()))(((()(())())()())((())()()((()()))))(()(())()))()())()()(((((()))())(())(())))))((())(()((((((((()))(())(())(((((()((((()))(((()(())((()(((()((((((())(()()))()()()(((()(((())((()))(()()))()))())()())(()((()()))))()())()(())((()(((((()()()(()(((((()())))((((((()))(())))()()())()))()(()(((((()(())))()()()()()))(((()))(()))(())(()())(())(())))()()()(((((()())))())(()()))()((())))))))((()()(()()(()()()()()(()))((())(()))))())(())())(()())()()()(()(()((()())))()()()((((((()())))(()(((()(()))))()(((()((()()()(()()(()((())((()())())(())))()((()()())()))(((())()))()))))(()(()))))()((())(())()()((()()(((((()()())))()()))((())(())))((()()(())()))))))(())))()(()()()))))((())()))))()()))))(()(())(((())))(((())((()())()(((((()()))(()))(()))(()))()((((())()((())())()))))((((((()()())()(()((((((()(())())(()((((()()))((()((((())))()(())((((())(((()()))((()((())))(())(())))(())(((())()))()))))()())))()((((()()))())()()()(()))(((()()()))))))))(())))((()()))()()(()))))))(()))))((())())(()()()(()))))()))(((()(()()()))((())))))()((()()))()(((()()))(()))(())()((()))(()((())()(()(()))((()(()))((()())(()()((()(((())()(()))())))((()(())))())()())))))()()((()())())((()()((((())())))(((())()(())(())()()()()((((((((((())(()))((()()(((())()(())()(()))((()()(())(()))))((()(())(((()((()))))()))))()(()()))())))))()((()((((()(())())))()())()()))))())))((()())((())()()))((((())(()))))))))()())()(((()(())(()))()))()))((()()))()))))()()))))((((((())(())()(()())((((()(()()())))(()()(()()((())(()))((((()))))))())(()((())))(()(())))(())))))))())))())(((((())))()))((((())(((()()(((()))()())()(()))))((()(()(((()(((()(())()((((((()))()(()()()))(())()))((()(())(()(((())()(()))()))(()())()()()(())())()()()()))()()))()))(()(())(((((()((())((()(())()))((())(((((((((())(())())())(((((((())((()(()()())(((()()((())()))))(()(((((())))())))()(((((())))()()))))()))()()()()()((())(()())(((()((()())(())(((()()())()))()()))))((())(((())))(((())()(())()())))())()()()()())()())())()())))())(((())(()((((()(()(()()(())(()))()()))(()(())))()()))()))))()()))(())()()))())(())()((()()()())))))())((())())))((())(((())())))))))((())(())(()())((()()))))()(((())))))()))))()()))(((())((((()()))(()()(()()))())()))))))(())((())()(()()())(((((()))()()(()()())()(()())((((())()())))()())())))()(()()))()((((())))()())))()))(())))))())(()())(()))()()(())))())()(((())(((()(()())(()(((()())(()(((()()()))()((((()(((()(((((((()(((()(()())))))))()())())))()())))(((()())()()((((((((()()())((((((())))))))))()))(())))((((()))()()))))()((()((()))()))()()(()()()())())()(((()(()())()()(())((()())()))()(())()())())())))))))((((()()(())()((()))))((()(((())(()((())())))()(())()))(())((()))(((((()()()())))()()()(())()(((()))()))())(()))()()(((())()())()(()(()(()))))())())))()(())()((())))()()))()(())())))((((()()(())))))()))))))(()))((())()()(()))())()((()()))(())))())(())(()))((()(())()(()()()))()((((()()((((())(()(())((())()()(())))))))))(()))(()(()())((()()((())(()()))()(())))())))(())))((()()()((()))(())()))(()(())))()()(((()())))))))((((()(())))))()())(((()()()))()()(((()((())()(((()((((())))((()(()((()))(())(()))()())(((())(())))(())))(()((())())))))((())))))()())(()()(()(()()))((((())()()((()))))((()(())())((()))))))(((()))(()))(()()())))(()())()))()())(((())((()()()())()))())())))(((()()))()(()()((((()((((())()(((()))(()))))()()()()()()))(()(((()()(()))))))()()())((()())(())(((())()(()()((()()(((()()())((())))))))(()))))())((()())()(())()((()()(()))))))()(((((()))()))()()((()())((((())(()()((())()))(((()(())((()))()()(((()(())(()(()))))(((()()))))(())))(()(()()(())))))((((()()(((())(()())))(()(((()(()()()(())(()()()(((())))))))))())())()()()()()())())))((()())())()()((())(()((()(()()))()())))))())()()))())(((()(()()())()))()(())((()())))))))()(()((()))()))(())((()))))((())()))((((()()(()((())))()()))))()()))())(((())(()()((((()(()((((()())()))())(((())()))(())()(()((()(()))()()(()(()())(()(()((((()()())())()))())()()()))))((((()(((()())))))()(()))()()(())()(((()))(())((()))))(()(((()(()()()())))(())))))))())))()((()()(((()(()()(())))()()(()(())())(())()())))())(()))())))(())((((())()(()))(((()())()()))((()()))()(((())))()))(((()())((()(())((()()()))()(())))))()(()((())()(()()()()(()((()(()()()))()(()(())()()())()(()())(()((()())()(((((()())()()()))())()(((())(())))))))())))(())((())(((()((()((((()()((()(())(()(()()()((()()))()(()()()()()((()))))((((((())((()((()()())()))()()()(((((((())(()()((()))((())((())))()()())()())))())(()(((())(()()()()()())(()()(())))(()())))))))))(()))(()))))((((())))()((()(()(((((())((((()(())))()()(()))())())()))(())(((())(()))(()))()()((()(())()())()()))))())()()((()(())))))(()()()((())()(((()()()()()(((((((((())))))((((())))())))))(()(()((())()()))(()((()())))))))()()(())())))))(()(()()())))))(()))()())))(()((()()((()(()(()((((()(()))(((((()()(()())(())())((()((()()))))(((((()()()(())()))((()()))()()))))()))())))())()()(((()(()(((((())()((()())()()))())()()()()(()(((()((())(()()))(()))()(((())()()))()((()()()()()((())))))))(((((((()()))(())((((()((()())()(()))))())))))))(()(())((()(()))(())()(((((())(()((((((())()()))((((((()))(((()))))((()))(())()())())()(((((()))((()(()()())))))())))(()((()(()()))))))))())()((()(())()))(()()())(()(()(())((()(())))())(()((()))(()(())()(()()())(())()))(()(()))(())(()))))(((()()(((())())))(())()))())(())())()(()()))()))())((()(()))(()())(((()((()(((())))())))))()))(()(()((()))()())()))))(()((((()())(())()()(((()(()((()(()()())))()())()(()())())()))))())()(((()))()(((((())())(()())()((()(((((((())))()()())((())))((((()())(())((((()(())()())(())((()()())(()))))()())))(((()))(()(()((((()(()(()))(()))))))())()()()))())()))((()()())()())))(()))))()(()((()()(()()((()()()(()((()))(())))())()(()())()((())()())))))))()(()(()()())))((((((()))))))())())))())(((((()()((())()()))))(())()(((())()()))()())()(()))())((()(()(()(((((((()(()())))()()))))(((())((((()((()((())))()(()(()(())(())((()()))(()()))))(((()))((())))(()))()()()(()(()()()))()())()()(()(((())))))(())(())())()))))(()()()()((())()()())))(())))(()(((())((()())))()(()()())(((((()())(((((((()()))))()()))((())))((())(()))(()(((()()(()(())()))))(()((()))(()))(())(())))()()()(()()(()(((((())((()((())()()(())()(()))()()((()()(()(()))(())(((((()()())))((()()(((())(()()))()))())((())((()))((()(()(((()))())()()))((()(((()()(())))((()))((())))())((((((())())(()(((((()(())))))()()))())(())(()()()))((((((())()((()()((()()))()))(((()((())(())()(((()()(()((()()(())(()(()))((())()()))((())((((()())))()))(()(((((((())(()())(()))((())(())))((()(())())((()))))()())(((()()()(()))()))(((()()((()))()()(())(())(())(())))(()))())))())()(()(()()((()((()())((()())))(()(((()(((()((()))((()((()(()()()(()))((())())(()(())(())))))())((()(()((())(())())((((()()(())))((())(((()()))()))()()((()))))))((()()(())))()(())(((()(())(()(((())))((((()))))())))((())()((()())))(()))()())()()()()))((()(())))((())(((()((()()()(((()(())()))())))((((()())((()(()(()()))((()((()))(()))()()((()()))(((()))())(()(((()()()(((((()(()(((((((()((((()()(((()())())(((((((()((()))())))()((((()()(())((()()))))())())(())((()(((())()((()))(((()((((((()((()((()(())))())(()()())()))()(()()()((((())())()()((()(())(((()()()))()(())))()()(()(()(()))())()())((()))()(((()(((()))))((()((()(((((())())(())()((((())((()))(())()())())()))())()(()()())))))))()))))()()()())(()())()(()(()()))))())(()())))))))))(()((((((((()()()(((()(()(()())))()())()((()))())()((())(()()))()()))(((((())(()(((())()))())())(()()((()()()()(())))()())(()))(())))((())))((()()(()))(())((((()())(())))))())()()(()))()()())())))())()(()((()((((()((()(()()((())(((())()()())(()))(()))))((()()))(()())())(())((((())()(()()()(())(()(()()(()())))(()(()(((()())(((())()()())(())))))())((())((((()))((()()((())((((((()))))))(((())((((())))()))()())(((()(())((()((()()(())))()))()((()()()))())(()()()()((()()()(())())))(((()(()))))((()()(((())()))()())((()))))))()))))))()(()()))()))))()(()(()(())(((()))()()())))()(())(((())))))()))(((()((((()()()(((()(()(()))(((()()(()))(())())((()((())()(()))()()()((()()(()((())(())()()())())()()()(()(((((())))))))))()())))((((()()))((()(()()))()((()((((())))))(())()())(((())())))((()())(()))((((())))))()(()())(()()))((((()(()))))())))()())()(()))(())()((()()()())(()(()()((((()(())(((()))(()())))))()()())()()((((()()()())()()()((()()()((()()(((())))))(())()(((((()())(())()))))(((())(()())()())(()(()))()()()))()(()))(((()()((((((((())(())))))(()))())()))())))()(()))()))()()))))()))(((((()))())((()(()))(()())))(())))())()(()(()()()))()))((()((((((()(())()())((())((()()(()(()())(())(())((()))))))(()(()))((((((()()()())(()))))(())))))((()(((())()((())))()))())(()()))((((())()()())()(())))()())()()))())))((()()))()())((()(()()((()))(()))()))((())(()())())()()())())))()))))()()()(()))))(()((())((())))()(((()()))))))(((()((()())()()(((((()()())(((()())))(()()((())(((()())(()())))))))(((((((()((()))(()))))(())())()))))())((()()((((()))((())())(()())))())()(()())(()()))((((())((())))))()((())()(((())))(((((()(((())())((((((((()))))()))(((())))))(()(((()))))())())()(()))))((())()(())((())(()()(((()()))))))((())))()(()()()())(()()()()))(()())))()(()((()))(()))))(())())))((((()(((()))()())())((())()()(((()))(())))(()(()(())(())()((())(())()))(()()((()()))((()(()((())()))))))())(()(())()))(())())())(((()()(()))())(()((()(()((()(((((())((((((()())()()()))((()()()()((()(()))))((()()))))))())))))()(((()(()))(()((((()(((()))(((()))()))())))())(()(())()((((()())()))))())(()(((((((((()())())())))()))((())))(()))((((())))))()()(())()))((())(()))))))()(()(((()())))))))))))()))))))((()()()()))((())(()()))(()()((((())((()(()((()(()))))((()))((()))())))))()))((()()(()))())((()()()(((())()))))))((())()()(((()(()((())(((())))))(())((()((())((())()()()((()(()))))())))((((()(((()))()))((())))))((()(((()()((()((()))))())()()(((()((()((((((()())((()()(())(((((()())((())(()()()(()()((((())))))()()(()))(())((())))))()()(())((()()())())(())(()(()))((((()))()()()(())())()()()())())()(((()))))())((()(()(()())())(((())((()(()))((())(()(())))()))(()))()()(((((((())()((())))()(((()()))()))()(((())))((()(())(()))))()()()((((((()()()(()(()()())(()()()))())(()))()()()(((()(((()(()(())))())(((((((()(((()()))((()(())))(())((()()))(()))()(()(())))()))))()())((()()((((()))(((()())(()))()(())(()()(((())))))))(()(((()(())()))(())()(((())(())))()(((()))(()))())(())()))()())((()()())())())(()()()((()())()(())((()((()()()))))((()())(())(()())(()((()))))))()(()))((())))()()))())(()(((((()))))()()))())()))())()())))))())))())((((((()()((((()((((())((())())(()())))((())((()))))(((()()()()))()(()())())()(((())))(())()()))(())()()())(()))(()()))))()(()))))))()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(((((()())())(()(()))(()()())())(()((((((()()()()))()((())((()))((()())())(((((()))((((()())))((((())()())())((())()(((()())(((()()))())())((()))))()))()())))))))))((())()()()()())()()()((()()(((((()()(()(((((()))()()(((()))())())()(()()()))()(())(())(()))(()(())()(())())()((((()(())((((()()()()()(()))))))((()())(())())())))()())()())(()(())()()(()()((())(())))((()()((())()(())(())()(()()))()()(((((())))))((()((())()(())()()()))((()))(((()(()()())())()(()())((((()))))(()()(()(((())())()(((((((()(((((())()(((((((()())))))))(()(()((()))((())))(())(())))(((((()()())())())()())))))))(((((()(((()((())))((((()()()()))()))()((()((())())))())()))(()()())))()((()()))(((()())()()))))))()()))())())()))))(()))))())((()()((()(((((((()())))()()(()))((((()))(()()))())(()()((()((((()))(()))))(()(()(()))))()(()))()))))))()(()))(()(())(())((()((((())())()(()(((()())())()(()))()())))(()())()(())()))(((()())))(())(())(())))))()))()(())(((()((())((()))())))()(((())))((())())((())(())())())())(())(()))((())((())((()())())())(()(()()()()())())())())(())(()((()(((())))()())))()(((())()()())()((((()))())((()())(()))(((()))))((((()))))())(()((((()()((()))))())()()(()(((((()(()()())()(((()(()))((()))((()(())))))(()())()(((()))))()))((())))(()(()()()(()()))))(()()))))(())(())(()(()()(())(()())()(())))(()(((())()))((()()))(()((()()((((()()(((((((()()(((((())(())()((())((())))))))()())(()())))())(())())))((((((())()())()))((((()()()(((((()(((())(((()))())())((())()())))()()(()(()(((((())()())()))(()(()((()())(())())()((((())))()(())))))()(((())(())))))))()))(()))))(((())()))))()))()))()(())(()(()()())))((())(()(((((())()())))))())(()(())((()(())(()))((()()()((()())))()((((()((((())())()(()))(((()())())())((((()(()))))()()()(((((())()())((((((((())()())())(((())((((((())))))(())))()()))((())(((()(()((((())(()()()((((()()))))))()())(()((()()())()(()()))(((()())()))))())))))())(()(()(()()))(()())))(()((((()()))(())(()()((())))()())(()((())))(((()(()()((())()()()())())()))))((()(())(()))()))()))())())))()(((()))()(())(()(()))((()(()(()()())())))((())((()())()(()()(()()(())))))())))((((()()(()()((((()(()())(()))((((()(((()(()()())()))(())))))(((((((()())(())()()))(())(()()))))))(()())())(((((()()()(()))((()())(())))((((((((()())))()()())())))(())())))((()()))))(())((())((((())()((()()))()))))())()(())))((((())())((()(()(((()((()())(())((((()()((((()()))((()))))())()()())))()()((())())))))))(())())((((()))(())((())))))))())(()()(())(()()())(()((((((()))()()((()(((()()()))))))))((())()())(()(())()(())()()((())(((())))(())())(())(())()(()(()))()((())()))(()()))((((()())))((((()))())(()((()))()(()))()(())((()))()()()(((()(((())(((())((()))())(((()))((()))(())())()))()(()()()())(()((((()))(()))()())((())((()((((()())()((()()()))()()()((())))(()((())()()((())()())((())(()()(((()(())()()())(()(())(()())(()(()())(()(()((()()()())())())((((()())))()())(())())(()()(())))()))))(((()((((()()))(()))()(())(((())))()(((()((())))())))))))))))((()())((())(())())(())())))))))(()((((()((((()((())(()))((()((()((()((((((()))((((())()())(()(())())((())()()()(()))(()(((((())())((())((())()))(((()()(()()((()()))))))((())())(()())()(()(())))()))()(())())(())((())((())())(((()))((()(())())(((())())))(()(()())))))()(()))((()((((())((()((((()()()(()))(())(())))))()))))((())((()((((((()))(())()))()))(())()()(((())())(()))(())())))((()())()))(()()(())))(())(()(())((()))((())))())())))((((()((())))))))((()((((((())))(()(((()())())(())(()()(((()))(()())()))))))()((())()())())(()(()))(()))))))(((((())(()(((())((((((()((()())))))))()((()()))))((()()))))))(()))()((()())(())())(()()(()))(((()))(()()))((()())(((((())())()()((()))))(())(()())(()()))(()()())(()((()(()()())((()())())())(()((()())()((()()))))))))())(())))(((()((((()))(())))())))))())(((()()())))((()(((()(((()())((()))((((()(((())((())(()))(((()(()))(()()((())()(())(())()()))())()))((((())((()))()()))()()()))(())(()(())()))))()))()()(((()()(())(()(())((())(()()))))))())())(()((())))()()(()))((()((((((())())()(())()())(())))(((((()((()())(())()()))()))((()(())((((()()))))(())))()()((())(())()(())()()(())((((())))))(((()()((()((())(((((()(())())))))()())(()())(()(()))())()(((())()((((()((((()(()))))(()())))())))()(())()(()(()()()(())(())())()))())()(()(())(((()))((((()()())()(())())(())))(())()()())()(((((((((()())(((())()()())))(())()()(()((())(())))(()))))((()))(((()((()((()))((()((())(((((()((()())(((()())(()((()))()(()())))((()))(()))())()())(((()()()())()(((()()(()())())((((()))(((())))(()())())())(()())()())((()()((())))((((((((())()))(()()(((((()))()))())()))())(())(((()))(())))((()))(())(())()())()()))())()))((()((()())((()()())()()())))))()()()()())(()())((()()())))))()((((()))())())(()))((()(()()()()((((()())(((())()(()))(()((())())))()))))(()(())())(((((()())))(()))(((())(())())(((((()))((())())))(())()()()))))((()((((()(()()()())((()(()))((()(((((()())())())((()))())())()(()(((())((())((()))(())())((()())()(((()())()))(()(()(()()()(()()())(())()()())(((()))()))())))()()(((()(())))))(()))(()(((())())())(())))(((())())))())()))((())))()()))((()())(())))(())((()()))))(()((((((()(()()))(()())())(())((((()((()())((()((((((((()()))()()()()))))()())))))))((()())))(())()))(()(()()()((())(())()))()))())((())()))())((())))()(()(((())(((()(())()))())))((()()))((()(())(())(()((()()((((((((())))(((()(((()())()))))(()()((()))())(()((()((()())(())))(())((())))())())))()))()))(()(((()()())))))()(())))()((())())()))((()(())()(()))()())()))()((()(((()((()(())))))())()((()((((((()))()(()()(((((()()((()))(())((()))))(()(()((()(()(())()()(()((()()()))())(()(((()))()(())()))))())((((((((())())))()())))(()))((())())))())()(()((()))((((()(()((()()))(((()))(((()(()(((()(()(()())()(())(((()))))(())))))()))))(((())((((())))(((()())((())))()(()(()))(()()())))()(()((((())(()(()()))))((())())))())(()(()(()())(()((((()()()((((((()))(((()))))))()()(())()))))))(()((()()()()()()((()((((()()(((())))(())()))()())((())))(())((()())()(()((()()))))()(()()())()(())())())((()(((((())))))))()()))()()(())(((())((()()()()()())))((()))))(()())()))(())()((())(()))((()()(())((()((((()))(((())((((()))(((()(()(((()()()()((())())()((()()))))((((()))())()()))(())(((()))((())()())((((()))(((())))())(((((((()()(()(()())()))()))(()))())))(()))))(())()(((((()((()))()((()()))()))()((()((())(((()(())))()))(()))))((((()))(()(((())))))((())())((()(((())()))((()()()((()()(()(()(()(())()()))()))))())(()))))())())()()()()))))(((((())))(()())(((()((((()))()))()(()))()())())()))))((()((()(()(()(()(((())(())))((((()()()(())())))())((((()))))((()()(((((()())()(()(()()((()(()((())(()))()()((())((())))))))))((((())))()))((()(()((()((()((())(((()((()()(())))())))))))(())))(()()))(())((()(((())(((())(()(())(()))(())))()(((((((())()))()((())))(())(()((()(())))())())((()())()()))(()()(()(())(()()())(((()((()))())()(()()))()(()()((((())((()))()(((()()()(()((()()(()((()()))))))()(())()((((((()))()(((())())))()(()((()()(()(())(()))))))())(()()(())()()()())(())((((()())()))()())(())(((())(()(()))((())()()()))())()(((((()()(((()()))((((((()(((((()()()))))(())))(())()(()()))))()))()(()))))())((()()()))(())(((())))(((((()((((()()()))()))()()))))))(((()(()))))(()()))()())))))((()))())()))))())))()((()()(())())()()())((()))(())())))())))(()))((())(((()))())()))))))()(())()())))))())(()))((((()()))(()))))(((()))()((((())))))))()()(()((())((()))(()(((()))())()(())))))))))))()))((((())())(())))()((()))))((((()(()))))()()()())())))()())((())))(())()(((()())(()()((())((()()))))(((()()((((((()(()(((())))())()()((((())))(((((())))))(())(()(()())((())((((((()(()((()))()()((()()))()((()((((((((()))((()))))))((()))()(((((()()(())((()(())(((((((()(())(()((()((())()(()()((()()(((())((()(())()((()))))()(())()(((()))(()(())))(((())(()()))()()(()))()(()()))(((()(()(()))((())(())(((()((())))((()()))(()()))()(()(())())()()(())(()(())(((()())()))))()(())()())((((()(((()(()()(()((()))))((((((()()(())))(())()(())())))(()(()()()(((()()))()))(()))))())((((()))))(((()())())))))())(()(()(()()()()))(())(((((())())())())()(((()))((((((()))()))()((()())())(()()()))())()()))()()((()(((()()(()(()()))))(())(()()))((()(((((())((()))()((()))()))())()(((()()(((()(())(())))(()(((()((()))()(((((()(()()))()))(((()()))))(()())()))(())(()(())()())(()))(((()()()(()())((((()()(()(((())()()())((()()))(()((()))(())(()(())((()))())))()()))()(()(())))((())(()(())()))()()))()())()))(((((((())))())(()())())()))))(()((()))((((((())(((()(()))))()()())()(()())()(()))))))())))(()((()))))(()(()(())()))(((()()))))((())()()())(())(())))()))(())()((()))()()(((()))()()))))())((((()))(((((()((())()))()((((()(((()(())())())()())()()))())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

((()))((()(()(((()()())(((())(()()(())()())((()(())((()((((()())))()((((()((())(())()))))((()((())((())))(()))()(()((()((()(((()()))()((())())())())))))()(())(())(()(()))(()))())()((())(()))()()))))()(()()()()())())((((()))()(()))(()))()((())()()()()((()((((((()())())((()(((()((()(()()()()))(()(((()()(()((())()((((()()()(((()))(()()))(())(()(((())(()()(()(((())(()(((())()()))())()()()))()))(())()()))(()))))))))))()(())))((((((())))((()((())((()))(())))())((()()))()())((()))()()(((()()()(())))(())(()((()(()((()())))((())()))()))((())())())(((()()())()()))((()()(((()(((())))))))())(((()(()()()())())()()())(()(((((())()(((()))()(((())())((()))((()))))())))()(((()))((()(((()()()()))()()(()))))(()))))))()))()(((()()())()(()))(()()()())((()()(((()()))()()()(()()())(()))((())))(()(((())(((()()))()(((()(((())(()))(()))))()))()))(()()((()((((((()))(())))))()()(()(((()()()(()((()(()())(((()())(())()))(()((((()())(()()(())(((()()((((()()()))()))(()()((())())()))()(((((((()))(()((()())()(()())()()))()(()())))((()(()()(((()(()(()())())((()(())(()(())))())()(()((()))))((())((((()()(()()))((((())()((()())()())(()))((()(())((()((())))(((()())))(())))(())(()()(()()())()))(()))((()()(((()()))))()(((()))))(()))()())))))()(((())())(()(((()))))))))()(())(())()))()()(()()())((((()())))(()))))))(((()()()()(()))((((((((((((())(((())))()()))((()((())()))())(((()(()()()))()()((())))()))()))(()(()(()(((((()((()(()()()))())))()))()(()()())())))(())(((()))))(())())()()))())))(()))()((())(((())(()))))(()())(())((()(((()()(()))(()))))(())(()((((()))()()))()())()))())(((((())()())(()))(()())(((((((())(()((())()()((())()))(((()()(())((()))(()()))()()(()()(((())((())))()(((())(())))(()))))()()((()()()())))(()()()))())))()()()(())())((()())(((((()(())(())(())()))((()((())())(()(()()()))(())))((((()()()())))((())((())()))))(()((((())))(()(()))(((((())((((()))(()(()))))))))()()())))))))))()()(((((())(()((()))))(((((()))(((()()())((())(()())))(())()((((())((((())())((((())))((())))(()()()((())))))))))))()(((()())))(()()))((((((()()()()()))((((((()())))((()((()()))()()()(())))((())))()()())()))()(()))(()((()(()(((()()((()()())))(((()(((()(((()()((((((((()))(((()())()))))(((((()))(((()()())()))(()(((()(()(()())(()(()()()())((())()())(()(())(())())(()(()((((()))))))()(())(((()(((()))((()()()))(())())()((((()((()()()((())))()(()))))))()(((())(()()((())())())(()())))))))()((()()(()((()(()()))))())()()(()()))()(()(())((())))()))(()()(()()(()()(()(()((())())())()(((())))((())()((()))()))))(())())))()()()((()))())(())))(()()()))(())(()(()(((())())()))()()))((((((()((()()())))())(()())(())(()))))()))()()(())(())))()(()))))))(()()(((())()(()(()()))((((()(()(()()))())(((()())()))(()()()))))))))()())(()))))()()())))))())(()())())(()((()())((()))(()())(()(((()))(()())()(()())()(((())()))(()))((((()))((()()()())())()((())((()(((()()))))(((()(()(((()()(()()()((())((()(((()()))))()()(()()))))((()(((()(()))((())))(())()()))()())((()(()()(((()()))()(((()(((((())(((()))())()()())))))))()()))()()()()())(()(()()()(())))))))()))(()()()))()(((()))))))((())))(()(())(())(((()(((())(())(()()())(()())(()(((())(()(()(()))())()(((()()((())()(((((()())(()(()(()((())())))((()((()))()(()(()(()(()()((()((((()())((()))()()))()())((()()()())())))))(()()(())((((())))(())(()(((())(())(())))))))(()(())(())((())()((()()()(())))(()))((()()))(()(()(()))()()))(())())))(())((((()()()))))())()))()()))))())))))(())((())(((())))((())()(((((()(()()))())())())()())(()()()()()((((((()()))()((()()(()())((()(())))))()(())())(()(())()))((((())(())))())))((()))())))()((())))))()))))())()()))(())))((((())())(())())(())(()((())(((()))))()))(()())(((()((()()))()())())))(((()))(()(())(())))()(()))(()())()())()()()((())()))(())())))()(((())((()())))))((())())()))))()(())))()((()(())()()(()(((((((()(())((((()()())())(())((())())))())))(()))))()()(((()()(())(((()))()()((()()())())()))((()())()()(((()())()()))(()))()()))())())(((((()())()))))()()((((())))())((((()()))))())))(()()(()(((())(()))))()()()())))))((()(())()((())((((()())(()(((()))())((()(())((((()))((((()()))(()))))))))((())))()()(()()()()()))(()(())()()))((()()())))())(((()()))()()()()())(((()((((()()(()))()())())())(()(((())()))(((()((()())))((((())))))))))))()())())()))(()((()()(()()))))((()())))))))))(((()((())))((()(((())())()())(((()()))()((())(()))())((()())()((()()(()())(()())))()()((()(()))(((())())))(())())()))((((()())())()(()))())()(()()()(()()(()(((((())(((())()))(()((((())(((()())))))((())(((((((((())))((())()(()())))(()(()(())())((()()())())((())())))()())(())()(()())()(((()))))))()(())))))()))(())(((()()))(()))())))()())(()(())))))()))))(()(()(((((()())())(()(())))))))()()))((()))()()()(()())(()())(()()()()())(()(()))()(()(()))(())()((((((())(((((()(()(()))))())))(()))()(())())(())))(()()))()()()((((()))))(())(()((((()()(((())))(()))(()((())))()())(()))))((()(()(()(())()))(())))()()(())()(()((())())()(()))()(((()()(()(())))))((((())))())()()(()(()(())(())()))(())(())(())(())(((()))(()))(())(())()()(())()()()(((()((()((()))(()))(())(((()))()))((())))(()(()(())())((((()))))))((((()))())()))()(())((((())()))()()()((())))()()()()()(((())(()((()(((())())))(()()())()())))())()()()((()((()()))()(((()((((()())((((()()())(()())()(()())(((((()(((((((())()((((()(((()))()(())())))())(((()()()((()()((()())))(()))((((()()((()))()()()))((())(())()))(())))))))()()((((((()(()())))))()(()((((())())(((()()()))))()(((((()((((()))()((()))(((((())())()()((()((()(())(())))(()()((()())()))())))()((((()(()))((()))(()()((())(()())))((()))()(())((()))()(())()()(()()((()))(()))()(())()())))())))())())((()(()())()()(((((((()()))))((()(((((())(()()))))))()())(((())))())()()((()()(()))((()())(()()((()))))))()(()())((())(((((())))()()((()()(()((()())))))())()))((())()())((())((())))(()))))())(()(())))()(()))()(((())())((()))(()()((()))())())()))))(()()()()()()))()(())()))())()(()(((()(()()()))))())))))))(()(()()))())((()()))))()())()))()((()((()()(()())(()))((())))((()))))()())(()()))(()()(()((())((()))))))))(()((())(((()(()(()()))))()((())(())()()(()(())((()(((((()((()(())()(()()()())((())())))()()(()((()()(())((()(((()()))))()()))((()))))()(()))())())((()())()(()()))(())()(()(())))()(())())((()((((())))(())))))((()()()((()))(())(((())(()))((()((((()))(()(()))()))()())()(((()(()())))()))(()((()())())())())(((())()))))())((((()(())()()()))(()(()((()()(((()())()()()()(((()))(()))())()())(()))))))))()(()(()))())())()())()(()(()()))))((()))(()())(((()))())()(((((()()()(()())((()()()(()((()))))((()()((()))()(()((((())())))())((())))(()((()))())())((())))))()))())()(((((()))((()()(()()))())))())()(())(())()()()()(()((((((((()((())())(((()((())(()(((())(())()(())))))(()((()(((()))(()(()((()))))(()())))))))))))))))))

()(((((()(((())))()(()))))()(((((()))))()((()())()(()()()(()((((()()))())()())(()(((()(())(())))()((())))())))()()))())((((())())(((())())))(((())()(())))()()()(((())())))(()((()((()))((())())(((())())((())()()())()()(()))(())))))()()((()(())))()(())()(()((()()((()()()())((())(((())((())()(()())(()())()())(()))()())((()(((((()))))((()(()()()()(((()())()()))((()((((((()())()(()()(())())))())))())()()()(())))((())))(()()((((((((()(((()((()()))))(())((())())(()())(()()))()()))((((())()((((()()(())))()()()))))()(((((((()())(()())(((((()))()))(()))((()((())))(((()))())())()())()(())))(((((()))))(()(()()(((()))((())()((())())((()())))))))((()(()((())()()))()))())))(((()))((()()))())(()))()(()((()))))()(())))(()()))())(())(())))((()())())()(())(()))((((())(()))))))(())))(())(())(((()(()(())(((()()()((((()(((())()))()(())((()(()))(((((()))()()()(()))((()))(()())(()(((()((((())((()((((()))((())())())())))()(()))())(()()(((()))()))(())((((()()((())())()))())()))(())()())))))()))()(()()()())(()()()))))()()()(((()()(())((()()((()())((()()(()((((())())))())(()))()(((())))(()()))()()))))))))((()()))((((((())(((((()))(((()((())))))))(()((()))(()(())(((((())))((((()(()((())()))()())()())))))(((((()((())())))(())())))((())()())))(())((()()))(()()(())())())()))())))())()))()(()))((())(()()())())()(((()(()((((((())()()))))(((()))((()((()(()()))((())()((())()((()(()))())))()())()((())()((()(()())((()))(())())(()(())()()(())))(()(())())()(())((()))(())))()))()((()()(((()((())))((()())(((()())()(((()()((()))()(()))))())()(()(()((((()())()(((()((()())()()()((()()(((((()(()(()(()))()())((())()()((()))))))((()())((()()))((())(((()(())()()((()()(())()()))(()))((()))(()((())((((())((())(()))))))()))()())(()(((()(((()(()(()))(((())((()())()(((())))())((()(((()()()((((()())))((((()()()()((((((((()(()())(()())))())((((()(()(()))())()(((((())(()((((())))))()()))()(())((((((()(())(()()))(((()())((()(())()()))(()())(())((()())(((())()((()()))))()())(()()(((())())((()()((()()(()))))()))(())())(((()))()()((())(()()(()()((((())(((()()))(((())())())))())(()))(()()((((()(())()()))())((()()(((((((()))(((((())(((()()))()()())(())(()()(()(()()))())())(())())()(((()()()))((((((()))((()())))))()(())((()))()()(()()(((((()(()((())())(())()())))()()()(()(()())())()))()(()))()(()))()())()()))(())()(()(()())()))()(()()(((())()(()()(()(())()))())())(())))())))))(()(())()()()()()())))(()())())))()))(((((()())()()(()))))())()))))(()()))(((())())))))))))(((((())))))))()()(()(()))()(())((((())()))(((()())))(()(()))()(((((((()))()()())()(((((())(()())()))()())()))()))())()(()))(()(()(())())))()))()()))((()(()()()(((((()(()))(()()()))(()(()))()))())(()((()(((())(()())))((((()()))()))))(()()))()(()()((()((((())()(()()()))))())(()())(()()()))))())))()))()()()))((()(()()))(()))((())))()(()))(((((())()))(())(()))())(())(((((()))((((()()(())()))()))))(()(((()()()((())(()(()(()((()((((()((()((((()())))(((((()(()()))))))())()())(()(()(((()(()(((((())((()()()()))))(((()()((())((())))()()))))()()))(()(((())((()((()()(())()((())(())()))()))()))()())((()())()((()()(()()))()))(((((((()())(()()((()))(((()((())))(((((()(((()))(((())))((()())()))()))(())()))())))())())))()()(()))())(((()()()))))(()(())()(((()))())))())())()()))((((())))))()()))(()(()(()))))(()()))(((()((()()()(()()))))(()()(((())))))))))())(()()(()()()())))())())()((())(()(()))((((((((((()(((())))(((((()()())))()()()))((())))))((())(())(())(((()()((()(())()(())())((()())(())))()()(()((()()())())(((((((()((((())((((())(()((())()()())())))))()(()(())()(()()())()((()))(()))))((()(()))())()()()))(()(()))(((())(()))))())(()())))(((())((((((())()((()()))((((()))(((((()()(()()()))()))((()((((())))(()((((())()()()(())((()()((()())()())))(((())())(((())(())())())((((((()((((())(((()))()()))(((())((())((())()()))()()((()))()())()))(()))(((()(())())(()((((((((()(()))))()(((())()((()())))()(((()()()()))))((())))())()((()(()())(())((()()((())(())))(((()))((()()))))))()(()))()())(((((()((()()())(()())(()((()))()((()()))())((()))))()))()()(((((()(((((()()()())()))))(()())()(()(((((((()((())))((((((())((())()((())((()((())(()((((())()())()()()))()(()))((())(((((()()()((()()(((((())))()())(()()))))(((()())(())())())))(()()())()(((()()())(()())(())))(((()())(())()((()((((())((())())))(((()(()()((()))(())(()((())()((()(()((())()((()())))())()))((()())))))((((((()()()((()((((()()))(()(()()())((()))))()))()))(())(())())(((((()((((()(())())((())))(()())(((((()(()())()))))))()(()))(((()(()()())()())(()(((())))(((((()(()))()())))((()()()(()))()(())()()))((()()))(()(())()))(())(()(())(()))()())(()()(()(()(((())(((((((((()(())())(()))))(()((()()((()())())(()))()()(())()))()()))())(())))))()(()))((())())())))))))(()))))((((()(((()))(()(()))())()))())())()))(()((())))(())(((())))((()((()())()))()(()())((()(((())))((()))))())())((())()(()()())(((()()))()(())))))))))()()))(((())()())(()()((((((((()))()()((((((((())()(()((((((()))(()()))((((()(()))()())()(((()()(()(((())))()))((())())))()(())())())))))()(((((((()())(())())(())()()()()))((((())(()(((((()(()()()())))())()(()(()()))))(()))))())())))())))(())))))(()())(()((((())))))()))(((((()(()(()())()(()()))))(())(()((()()))((()()))((())()(()())()((()))(())()(()()()(()))))(())))())))))))()(())(((())(()))()())(((())(()))))()((()((()(()())(()(())())()))))())))()))))))(((()))(())())()())((()(()((())())(())()(()()))()())((()())()))(((())(((())()()(()(())()(())))(((())))()))(()(()()(()((())()()()()((()(((()))())))()((((((()((()(((((()())())))(())))()))(()())(())(((()())((())()))()))))))))))()((())))))())((())((())(()())())()((()))))(((()())))((((())(())())()()()()())(())()(((()(()())))((((((()()()()()((()))))())()(((())()()(((()(()))(((())))))))(()())()()))()()()))(()(()((()()))()(()))((())()(((()(((((()((((()()()(((((()())())()())))()))()))(())))))()()())))()))(((()()()()(()))()(()()(()()()())((())()()((()))))())())(()()))(()))(()()())(()()(()((())))(()(((((((((((((((())(())(()()))((()))(())))))((())()(()))))))(())))())()()))(()(()()())()()(()()()((()(()))()(()))(()()()(())()))(())()))()((())()))())()))))))))()(((())))(((()(((())()(()))((()(((())()()))))))()(((()((()(()(()))())))()(())))))(((())(((())(((((()(()(())()))(())))((())(()(())())())()()((()((((())()(((((())()((()((()(()()())())))))(((())(())(())())()()((()()(((((()))))((())(())(((()(())()()))()(()))()))(()()()((()))((((())))((()(())())()()))))(((()()())(((()))((()((())()()((((())(()(())(())(((((((((())()))))())()()(()((((((()()))(()(((((())(()()(()))))))((())())()(()(()))((())))((()()((((((((())))()()(()(((())(((()((())())((()()))()(()()(())(())()))()))()()()))())())()))))()(()())()(()())())(((((((()()(())((()))((((())())()))))((((()))()())()())(()())((()))))((()))(((())()))))))))((()())()()))()())()()()))))())(()())((()(()())(()))()(((())()()(()))))))(()()))((()((())()())(()))))())())()(()(((())()))((((()()(())(()()())(()(()(()))()()(((((()(((((()(())(()))))(()())())))()()(()(()(()(())()(()((()())(()))))))()(()))((((()((()))())(()()()()())())))())))()(((((()((())(()())())()()((()))))((()(()))((()))))(((((())()()())(()))())()(()())())()))(())((()(()()))(()()(()()())(())())(()()(())((((()(()()(()(()(()(((()(()))))(()))((())))))((())(((()()((((())((()(()()))(()()))(((()()(((())))((())))())()(())())(()(()(()())()(())())((()))((())(((()))((()(())(()((()())(((((((((()(()))(((((())(()())())((()()()))))))(()))((()()()(())))))()(((((()(()()())())(()()(()()))(()()()))(((((((()()())))()()((((())())()((()(((((((()()))()()))((()()((())()((()((((()))())((()((()(()())()()())))(()((())))(()((()()(((())()()(())()()))((())()()(()(((((())())))(((()))(())(()((()))()())(()(((()()((()()((())()(())()(())(())(((()()())())())()(((())()((()))()())(((((()(()(())()))()))((()())))((()))()((((())()())))))(((())()()())())))((()()()((()(())))(()()()()(()())((()()()()())))()))(((((((())))()))()))))))))()))(())()))))())((()))()(())(())((()(())))))))()()()))))()()(()())(()))()()))))(((())()(()()(()()()((()((((())(()()())(()())(())(((()(()(((()))((())())((()())(())(()(((()()(((()))()())(((()()))(()))))))())())())(())()()((())((()(((((()((()(((())()(()()(()((()()(()(((()())((()))))((())))()()((()(()((((())())()))(())((()))())())(()()))))(())()(()(()())))())((((((())()((())))()(((()))(())(()(()()))(()())((()())()()))((((()))(())))()))(())(())))(()((()((((()())()))())))))())))))(()())(())(()(())()))(()((())()())((())(((())))))(()(((()()()((()()))(((()())))()()((((((()(()(())(())))())))()())(())())(())))())(()()((()(()))((()((()(((((((())()(((()(((()()())))())()))()()(()()))()))(()(((((()()((())(())))))))())())))((()()(((()()))()()))()((())()))()(()((()(())())(())()(()())))))))())()()(()()((())))(((()))()()((()())(())))))())((())))()()(()()((())))()()(()()((((((()((()((()(((((()(()))))((()))()((((()()()))((()())()())((())()(((((()()))((())()(((((())((()))))()))())))())(())()()))(()))()))()((()))(()()))((()()()))()))()()((())(()))())()()())(((((()()))(()))((((()(()))))((((())()(())))((()()((())())(()(()(()()(((((()())(())(((((()(())()()()()(()))((((()(()))(()(()))(()()((()((())(())))((()((()()))(()(()((()(())((()))))())()()()(()(()())()(())()))((()())))())))))))))(())))))()())((()))()))()()((()()())(())()))(((()(())())(((((()(()()()()())())))()(())()(((()()((())())(()(((()())())())())(()))())))(()(((())(()((()))))()()(()(()()(())())))((()))(()(())()(())()()()()))(()((())((())))))))))()))(())))(((()())((((((()(()(()))(((()))()()())))())()()(()()(()))()))(())((()))())((()))()))))(()((()((()((()()()())))))))(()())()()()())(((())()())((((()(()()))())(((()())()((((((()()(()(()))(((((())(())()))))))(()())(()))()()()))((()))((())))(()))()(()))())()((((((()))((())()(())((()))(((())((()())()())(((((((()()((((())()()((((()())((()()(()))()()))))()()))(()(((((()))()((())())()())(((())()((((())((()((()()))())(()(((()())())(()(()()()))()()))))))))))((()(()()))))((())(()())))))))))()(()))(()((())()()((())()()()())((())(()(()))()((((((()())))())(()(())))()(())(()((())(()())(((()))))))(()))())(()())(((())()()()))))((((((()((()(((()(()))))))))()(()()))())()))((())()))))))())(())()))())(()())))(())()())()()))((((())(()()))))(((())()())))()())(((())))(())())))))))(()(((((())(()(()))()((()((()))))))))())((())(((()()(()))))()((()))))()()())))())(()()))(()()()))(()()()))((((())))()())())((())()((())((()()(())))()())()(()(())())((((((((()((())(())))((()(((()))))((())()(())())(()()((()())(()))((()()((())(((())()))))))())(()))))))))))(((()()((()))((()(())(()(((()()()))())((()((()(()())))))()(())))))())())())(())(((((((()()(((((((())(())((()))(()(((())))((())((()((()((()())())(())))))()))))(())(()(())(((())())))(()(()()()(()))())))(((()(()()())()))))()()()((()()(()((()))))))))()((()(((()))())(()((()))(((()))))))(()()))()()()))()()(()())()()((()()())(()))()(()()))((((()))))))(()(())((())((((()))))()()))((((((((((()))(((((((())())))((()(()))(()((()((()()((((((())))())))(()())())()((())(())((((()((())(()())))()()))()())))(((()(())(())())()(())()()))()()()())()()((()(())))(((()()))()()())()(()()()(()()()())(()((((((()())(())))()()())()()())()))))()))((()(()())(()()(()())(()(()((())()))()()(((())))((()(()(()((((((()))))((()()((((()()()(()))(())((()))())))()))()()()())))(()())()()(())())()())())))(()))(((((())(())))()(()))()(()(())))))()))))())()()()(()(((((()(()()))(()))())((((()()()))((()))((()()()(((((()(((()())))()(())())(((())(()))()))(())))))))()()()()((())))))((())()()(()((()))))(()())()))))))))())())(()))((()()))()())))()(((((()(((()()((((((()))())))()((()(()(()()())))))))()))()()))))()()(()())(((()(()(())(()))))())()()))))(()()))((()))(()))()()(()())())((()))(((((()))))(((()())()(()((()))(())()()((()()((())(())()))(((()()(()()()(()(())((()(((()))())))())(((())((()()()()(()()((()()))()(())()(((((()((())((())())))((())()()))(()((((()))(())))()()))()(((()(())(())())))))(()(()))))(()((((((()()()(((())()((()()())))(())()((())(()))(()(()(())))))()()()((()))))((((()(()(())()((()))()(((())(((()))()((()())(())(()(((()))()((()()))))()()))()))((())(((()())(()()(()(())))()((())())((()))))(((()((())((()(((((((())))))(((((((()))()())((())))()(()(())(())))))(()))()))(()()())))))((()()))))))((()))()(((()())()()((((())()())())(())()))(((()()))(()(()(()())(()(())()))()()()))))(()((())(()))))))))(()()))())))(()()())((((()()(()()(()((()()())()()))())()))(())))(())))()()))((((()((((()))(()(((()((())((())))()(((()))(()((())()))()))(()((())()()(()((())()()))(())))))())()((()()(()(()(()(((())(((()))()()(()()(())(()()()(()))))())(((()(()((()()(())()()))(((())()((((()()(())()((((()()))(())(())()()()()()))(()(()))())))(()())(())(()))((()(())))((((((())()(()(())))))()(((()))(((()(()))((((())))())))()(())(()))(()()(())))()()))((((())))()(()))()))()(()))(((())((((())(((((())())))((((()((())()()((()()(()(())))))()))())()))()(()()(()()))())))()(())())())((()((()())()(()()())))())(()))))())(())())(())((())))()))(((())())))())()()(()(()(())))))()(((((())())()))(())))))))())((()()((()(()()))))))((((()(()(()(()())((((()()(())()(()()(()((()(())))(())((((())((()())()((((())))))))(())()(()()))((((())))(()))()))()())()(()(())(((()())()(((()((()))((())((((((((((()(())((())(((()(())(()))))(()()(()())())(((()())((()())()(())()())()()))(()()((()()()()))))()((()()()()(()((((()())()))())(()())))(((()()())(()(()))(())()((((())()(((((()(()((((()))()()()((()()(()())()()())))))()())(((((()))()((()()))(()))()))))))))())())())())(())()))(((()(((())()(()())()(())())(((((()()))()))())))()(((()))))))(())()())()(((()())()))(()))((()(()()()()()(((()))())()((((((()(((((()))()(((((()())()(())()()()()()())(()))))((()))()((()(()())((()))))())))()))))(((()(()(())))))())((())((()()((()))(())))))(((()(((()))())((()))(()()))()))((((()(((()))(((((())(()())((((()))()()))())(()))(())(()()))))()()((((())()))))())((((())())(()))((()()(())((()))))()(()))()()((()((())(()(((()(((())())())))())))()(()()))(()()()))()(((((())((((()))(()(()(((((()))))()))))))))))()(()))()())(((((((((())()())))))())()((((()(()()(())))()((((())(()))()()()))))(()()()(()(())))((()())))()))))((()(())))))))(()((())((((())()()()()))((())()())))(()))()((()))()((((())()()())()))))(()()())(()((()))()()))()()(()())())()(()(()())())))()()))()))))((()())())))(()))())()))(()))))))(()(((())((())())))))())(()())((()()))))()())())))(((()(()())()(()))))((())((())()(()(()()()((((()())(((((()()(((())()())))))()()()(((()()(((()(()()))))()())()())()))()()))(())((()))))))()(((((()())((()))()((())())(()())((()(((()()))()))(()((())())(()))((()((()))((()))))())()()(()()))()(((()(((())(()(()))()(()(((())(())))((())))())(((())(())())))())()(()(()((()((()))))()))()))))(()))))((((()(((((((()(())()(((((())()((())((((()))()(())(()())(())))())(())((((())()(())())((()(()))))(((())(()())()))))()(()()())))()))))()(()())(()()()())())()()))(())())))()()()(()(((())())((()))))))((()(()()))((()))((())(((()((()(()))))(((())((()((()()((((((())()(()))((((((())())()(((()))()())()((((((()(())(()))))(()((())()(((()(())()(())((())))((())((((((()(((()()((())))(())(((()()))()()()))))((()))())())()))()())))(()))))))()))(()))()))))(())()()))()))()(()(()()))()(()()())(()))())))((()()(()(((((()(((()))()))(()((())(((()(()())((()))()()))((()())(((()()(()(())())))()))))()()((()))(()())))((((()))((()))()()((())))(((())(()())())(()())(()()(((()((((())))()()((()))))())())))())))((()()))(()))()))))))((())())(((((()()(()()())))()(())()(())())()))))())))(()()((()((()))()()())(())()(()(())))((((()((()(())))()(()))(())(())))))())))()(((()(())((()()(())())(((((()()()((()))()()()))))))))))(((()()((((()(())())))((()))((((((())()()(((((((())(()()()))((())()())(()()))(()(((()()))()(()))())))(((()()))()))(((())))((()())()(()))))((()()))))())()())(()((()(())(()))((()()())()(()((())))))(((()(()))(()(())()(()()(((((((()((()((())())))))())()(())()))(()))()()()))))(()))(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()))))()((((())(()()(()))(((()))())))()((()()))(()))(()())(()())())(())((()(()((()))))((()((()))(()()(())()(()(())())(()(()(()())))(())()(((())))))()))))()))))())))()()()(()((()))((((((((()()())))()()))(()((()())(())))()((((())(((())))()))((()()()())(()())()()((()(())(())(()()(((()((()(()()))(())))()))((((()()((()((()()(()((())(())))((((()(()((())((()))()()()(()()(()()(((()()((())(()())()()(())(())())))))(()))(()(()))()((((((((())(()()((((()()))))(()(((()())((()()(()))(())())))())()()))())())()()))(()()((()))))))(()(()()))))))))())(()())()()()()))())())())())()(())(((((()((()(())(()()(()((()()))))()()())(((()))(())))(()(())()(()))(())(())()()())()))((((()(()()())))())(()())()()(())())))(()()()(()))(()))()())()())(()()))))(()(()))(()))))((())()()((()()(((((((()))))))())))()(((())()))))))))(())()()((())())()(()())((()()((()(()))((((()())(())(((())()()))))())))(((()()(()(()))()(()(()(()))((()())())()(()(((())())(()(())(((())))((())(())))))))((((())))((((((()()(()((())())(((()()()((())((()()((())()))()(((()())())()))))()()())))))()()()))))))((()(((()(()()(()(())()())))()(((()(()(())()))(())()())())))((())()))((()))()()()))()(()))())()()))(()()))(())())(()))((()((((((())))()(())(()))))(()))(()(()())))((()(()(()((())))()(()(()())((((((())(()())(())))))())()()(()()()))()(()))()()()()((())(((()()()())(()()()))(())(()(()(()()()))(()((())()())(((()()(((())))())())()))))())(()((((((())()((((()((((()))))(()()()((()))))((())())()()))(())())))(((()()()((((()(()()())))(())))))((()(()()((()((())(())(()))(()((((((((()()))(()()(()))))))(((()((()(((())()))))(())))((((((())())))(()))())(((()(()()()))(()(()()))()()())(((()(((()(())(()((()()()()())()()())(((()()(()(()(()))))))()()(((((((((())()(((()(())((())))))()(()()))()((()(((())()((())()((()((()()()(()))()))))(()))(((()()()))()()()((()()(()(()())()))(()(()(()()))(()(()(((()(()(()()()(()(((()))))()(()))))((((()))())))()((()())()))()()((()(((()((((()()(()))()))))()(()))())))))(()()()))()))()(((()))((()))()))))))()))(())))))())()())()((((((()))(())((((()())((())(()()()))()))))(()())(()))()))())((()()))(()))())())()))()()()(()))((())))))())((()()()))))()(((((((()))((()))(()())((()()))(()()())()()(()))))())()(())(())(())(()(()(())))())))()))))(()(((((()()()()(((((()))))())())())(()((()((()())(()))))(((()))(((()()()()(()(((()())())))(())))))()()((())(()()))())()())()((()((())))((((()(()()))))(()())((()()(()((())()((()()())))(((()()(())())(((()((((()())(()()))))))()()())((()())()))((((()(((()()()()))((((()(((((())(()))))((((()()()())((((())()()())))((((()()))))()))()()(())(())))))(()()(())()()()()(()()())(()()()))))())(()))()))(()))()()()((()()))))((()))))))(()(()((()(()(((((()()))(((()(())))))(((()()()(()()()(())(())(((()))())()((())()((())))())(()())))()(((((()()(())())))((()(())()((()(())))))(((()())())())(((()))))())()()())()())(((()))(()(()))()())))())(()(()()()))(())(())))(()(()))()())))()()))))())())(()))))(((((()(((()()))))())()(()()))((())())(())()))))))()))(()(()()(())((())()()))))()(((()))((((()))))))()(((((()))))))))))(()))((())))))()))))(()))())(())((())))()))))()))())(()))(())(())())())()(())((()()(())()))))(((())()((((()()((((()())(((()((((()))))()))()(()()())((()(())(()()()))()(()(()()(()())(()))(()))())))(()((()(()((((((((((())))())(()))())))))())((())(()()))()((()))(()))())()(()()()(((())))(()))))))()(((())(())()())))())()))(((())))((((()))))(((((())()(()))()(()))(()())())()((())()())()(()))())))))))))()(())(()((()))))())())(()(())(())))))(()(((()(())((((((()(()()((()()))()))))(()())(()))))(())(())(()))()()((()(((())()()((((())())())())(((()))())()))(())()(()((()(()())))()(())())(()(()(()(((()((((()()))(()()()())))(()))(()))())()()((()(()((((()))()())))(((()(()()())))())()()()((((((())()())())(((((())))))())))())()))(()()((()()())())())()(())()))))()()))()()))((())))))((()()(()(((()())(()()()(((((()))())((()())()(()))())(()((()))(((((())(((((()())(()()())))())((())(())())))))()(((()))((()(())((()(((())(((((((())))(()(())))()))))))))((()())())))(()(())((()())()(()())))))()()(()((()))()((())()))(())))(()()((((()(()((())(()))))((()(())))()(()())(((((())((()))))(((()(()())))(((())))))))(()()()()((((())))((())()(()))))()()))()()(())()()()()()()())()()((())()(())(()(())())()()()())(()(((((((()(((()))())(())(()()))()())((()((((())))))(()))()((())((()()))))))())(()()()))()(())(())((((((()()(((()))())((())(((((((()((()((((()))()())()()(((()())))()())(()()())))()()))())))()))(()()))()())(())))(()())))))())))))(())))())())))((()()())()(())(()))))()()()))())(((())()())(())))))))))((()()()(()))))()(((()())()))()(()()))(()(((()()(()(()))))()()))))())()((()()((()()((())()(()())()(())(()))(()))(((()()()())()))(()(((()))())(()(())(())()))((()))))()(())())(()()))(()()(())(()))()()(((((())(((()()(((()()()((((()())()((()())(()((((((()()))(((()))))(((((()()))((((())())))((())(()())((())(()))))()(())((((()()(((()()(()()()(())(()()((()(()()())())((((())()(())((()()())(())))(()()())(())))(())((())(((())))))(()())())()))(((())())((((((()((()())())))()))))((()(())(())((())))))())))(((((()()))()())()(((((())))(((()(())()))(()())()())))))()((((()))(()())(((())()((()())))((((((((())))((()((()()))()))(()(()))()))((()))((())()(()())))(((()((()((())(()((()(()((())())((())))()(()(((()(()((())()(()((()(((())))((()())()(())()()())()))()((())))(((((())()((())()()))(((((((((()(((((()))))))))()(())))))))(()(((()()(()(())(((((((())()((()(())(((())()))))(()))(())()))((((((()())()(()(())()())(((()())))))())())()())()))())()))((())())(())(())()()))()()()()((()())())((())()))()())(()()))(()()())())))))(()((()))))(((((()())()))(()(())(()(()))(())((((()())())()(()()(((((())))())((()()(()())((()())())((()(()(((()((((())()))((()()()()(())()))))(((()())())))())))()))()))()(((()()())(()())())))))()))())((()())()((((()())(()(()))()))(((((()()())))(((()(()))())(()((((((()))))((())(((((()((())))((()()(((()())))())))(((((((()()((()())()(()(()))))())())))((())())()()))((())()))()(()()())()(()(()()()())(()(())(()((()(())(()))(()))()())))((((()(())()))(((()(())(()())))(()()(()())(())())))())(())))))()(())()(((((())((())(()((())(()()((())))(((((((()((()())(()(()(()))(()(()(())))))))()(()())))(((()())())))()()))((()()()(()(()()()())(())(()(())())()))((()()()(((()((())(((()((((((()(()))())(((((()(((()))()()()(((()))())((())())(((())(()(()))))(()))()()((())()(())))())()(((())))))()(()())(()(())())(()((())()(()((()()())))(())())(((((())())()))())((((()(()()())(((())((((((((((()())())))(())))(((((())((()()((())()()((()(()(((()))()()()(()(()))))(()()(()(()(())()()()((()((((()())(((()()((((()))((())(()))()()))()(()()()))()()()))((()))))(()(()((())((()()()))))))((((()((((()(()))())()()((()())(((())()))()))()(((((()(()((((())()()))))))()(()))))((()((()())(()()(()))))))())))))))))(()(()()()()))((((())()((()()(()(((())))()()()))))))()()())())()(()))())))(()(())(()(((()))())())((())())()()(()()((()())()))()(())()))()()()))())(()))))()())(())())(()))()()(())(()(()())())))))()(()())))()()(((()()())((())()(()()()(()(())()())(()(((())(())()(((((()(())((()))))()(()(()()(()()))())())()))(())()))()(())()))())()()())())))()(((())(()))())(()))((())(()()()())(()()()()((()(((((())))))()()((((()(()(())))()))()())())())((()))))(()(((())))()()))()(((()())((())((())())))()((())(((()(((()))()))((())((((()()()()))(()))((()))((()(((()()(()))((()()((())()((((()(())()())))(((())))()(())())((()))())())())))()((()((((())(()))())(()())))()(()()()(()))())))(()(((()(()(((((()(())()((())((()(()()()((()))((())))((((()))()())))()))))(()))(())()())()())))))()())())((()(())))((()()()()(((((()()(()))(()(())))(()())())((()((((()))(()()()))))(())())((())())()))()))())(())((()()()())()()))(()(()(()())))())())((()))))())((()()))(())()()((()()()))()()((((()((())(()))((()()(()(()())))()))))()((((()(()((((()())()()()))(()())()((()(())(()(()((()((()(())())((()))(())))(()(()()))))(()))))))(()()()))()))))()(())())()))))))((()(()(()(()(((()())))))()))()(()()()()())()))((((())((()()(()(())()(())()(()((()))))))()()))((())(()))))()())(((()())(()())(()()()((((((()(()))())))())()())()(()))(((((((())((()(((())()))()))()))))))))()((()((())))(())(())(((((()(((())())(()))))())))))))))()((()((())))()((()))(())))(((((((()(()()(())())((()))))((()()))(()))(((()((()((()(()((())(())))))(()()((())((())))))())(())))))))())((()())())))(((())))())()()(()()))))()()))())(())))((()))))((()(()(())(())()((()((())))(())()(()()()())(())()))))))())(((((()))()()()))(())))(()()()((()()(()))))()()()))(((()((())((()()))))(()((())((()))(())((()(())(((()))))()))())())((()(()((())())(())(())())))(((((())())))(()))())())())((()())()))))())())()()()()())(())))(()((((())(()))()()()(((()))()())(()(()(()((()))((()())())))(())()(()(())))()(())()((()())())((()(()((())))())((()((()())((()((()())))()())((())())()))())))(((((())))()))))(()(())))())))((())()))))()))))((()(((())))))(()))())())()((()))((()))(())(())()()()()(()(()))(((()())(()))(())(())(((((()(()))(())))))(((()((())())))()((()(()))((())())((())()()()(())()(()(((((()()())))()(())(()())()))))()((()))))(((())((((()))()()))())())())((()(()))(())(((()((()())()))())(()))(((()())(((()(())(())(())()())()))((())))((()))((())(()()(()())))((()))()()))()()()()()()((()(()())))()(()(())())(()((())()())()(()(())(()(()())))((()(((())())))))((()()(())()(()(())((())))()))()(((())()()(()))()((((((()((()))(())))())(()()()(((())())(()()(((((((()(())))((((())(()))(((()())((()((()()))(()(()))(((()(()(())(()(()()(())((()))(()()()()()(()()(())())()))))(((((()))))((()))(()))))))))))))((())))))()(())(((()()))(()()))())))))((())()))))()(((()(((()((()())()((()))))(())())()((()(((((()()((())((((()(()()()()(((((()()()))((((((()((()())()))()(()(()))))))(()))()(())((((((()(((())((()()(()()())(())()))()(()()()(())((((()()()())(())()((()((((()))()(((())()))()))(((()((((((()(((((()())()(()))((((()()))((())()(()()((())()()()()))())))((()()))(()((((())()))()(((()()((()()(())()))((()(()(((())())()(()()()())(())(())))(((((()())()()))((()))()())((()()()(()(((((()))))()))))((((()()())))()()))(()(((())((()())(()((())(())()((((()(())()())()((())(()())())()())(())))()()(())()(())((())(())((())()))()(()(((()()()()((()()()()())()(()(((((())(()))()((())))))())())))())())()()(((()((())(((()(())))))((()(())((()()(())((()(()))))(()()())))))()()((((()())((()(()()()()()()))()((((((()())(((())))(()(((()((((((((()()))()((()())()))()()))((()())(()()()())(())())))))())(())()))()(((()()()(()((()()()())()))))())(()((((()))((((()()))((((()(()(())()(()())((()()()(()))((((()))(())()((())(()))(()(())())))(((()()()())(((((()()((())())))))()))))))(())(((()))(()())))))())(()()(())(()()(()((()())(()(()())()())()((()((()(())()(()()()))(()(())))))))(())()()(()))((()))))())()()))()))()()(((()())()(()))(()((()(())()))))))((())((((()((())()))())()()(()(((((()))())(()(((()((()()(()()()((()()((((((()(()))(()())))())())))()((()()())))(()))))()()((()))())()(())())((((()(((((((())()))(((())))())((((()(())()())((()())()))(()()))((()))())))())(())))()))()()()(()(()(()((()(())(((()())(()))((()))))))())(()())(())))))()())))(((()(())())(((()((()()))))(())(()(((((())))(())))()(()()(()))((())((())()))))(()((()()((()((())(()((())((()()))()()())())(())(((((((((())()())()))((()(((((()(((())((()()(((()((((()())))(()(())(((()(())(((((()())(())))()(((((()()())(())(()()())()(()()(()((((())(((()))()()()())()(((()(((((()))(()((((())())(((((())(()()(())))()((()())))((())(()))())))()()))()())(())())()(((())((()())()()(()))()(()))())))))()((((((((()(())()((()))())((((()()))()))()))()(())(((((())((()((()))))()()())))((()((()())())))(())(()((((()()((())(((()))))(()(()()((((((())()())(()())((((()((()())())((((()))((())(()))))())(())(()(()(()(())()(()(()()()(((()()(()(()()(((()(((()(())))()())))(((())()))))((()))(()((())))())))((((())(((())((()())(()(())()()((())()))()())(()()()()()))())(()))((((()(())()()(()()(()))())))(()())()((((()(()))))((()))(())))))())())())))(())()(()()()(())))((()))()))((())(((((())((())))()()())(())))((())())((())))()()))))))()))((((()()))(((())((()))()()()()))))(())())((((())))()()()((()((()))(())))))()())((((())()()((()()(()))(((((((((()))))()())()()((()()()))))(((())()))()()(()())))())))))))()))))((((())((()((()()((()()))(((((()))()()))())()(()((()()))))()((()(()()())(())((())((((())))))()()((()))))())))())))()()()()))()(())(()(((())()))())(()))))((())(())()))(()))))(()))())(()()((())()(((()))))())())()))))()()())))(())(((()(((()(()))((((())()()()))))(()())))(()())()(()())()())()()((()((()))))()())()((((())(((())())))()(()))()()((())())())((()()(()))((()()))))(()()(()))((())())))(()()(()())()(()(((()()((())(()))((())))(((())((()()((())(((())()))()(()()()()(((()(())()))((()))))()()(((()(((()()(())()))()()))))(())()))()(()())())()())))(()())()((())))(((((()))(()(((())(())(())))))()(()())((((()(()()))()))())())()()())(()(())))))(((()())()))((()))(()()))(((()()(((()())()((()))()(((()()()()((()())())))())))()()((()())))())))()()(()(()((())))))()((()()(((())((())())((())((())()))))()))((())()())))())))()(()))((()()(()(((()((((()))()()))()()))))()()()))(())()(()()))((()()()()((((()())()()()((())(((())()(())()((()(((()(()((()(()()()()((((())(()))(()()))(((())(((((())((((())()))))()))))()(())))()()()))))))())))())())(((()()(())())((())))()()(())())()(()(())((()((())()()))((())(((()))((())())(((()((()())()((())())))))())(())))(())())())()()))(())())((()(()((((()())()()()(()))(((())((()())))(())))(()(())()))())))((((()))))(()((())()()(())()(())(())(((((())()()((()()(()((()(()))))((()))(())))()(()())((())(((()()))))()()())(()(())))))()()()()()()((()(())((()(())()))(())(()()()((()())(()((((((()())))(()()((((()((())))(())()((()()()))()())()(()()(()(()()(((((())()(()()())(((()(()))((((())(()))(()))((((()(((((()())((((()()()()))(()(())))))()((()(((((()()()()())((())))(())))((((())(()((()()))(()((())))))()((()))))))(()((())())()((())())(())(())((()())))()))((()()((()(())()))))()))(()()()(())((((()(()))(()())(())(()))(((())(()))))()(((())()(((()()((()))()))()((())(()))((()()(((())()))(()(()())()))()(()()))(()))(()(()(()(())))(()()()))(()))))())(())((()(()(((()()()()((()((((()()()))))()((()(((()))()()()(((()))))))))((()(()()()(((()()())()(())(())))(((()(((()))()())))((((()())))(()(()())(())()))((())))()))())()))()((((((())((())())()()))())))(()()))()(()())()(()))))()()(()()))())(((()(()(()(())())())()(()()()())((((()))((()()())())(((())((()(()()()()))()()))))(((((()((()((()((((()(()((((()()))())((()))())()(()()()())((())())((()())((())(()()(()))(((())(()(())((()((()(()())(()()(((())(((())(((()())())((((((()())(()(()()()))((()))(())()(()))))(()(())())(()((()((((())()()(()))((()((()))))()))((())(()((((((()())()())(((())))(()(((()))(()(((()(()()(())()((((())))((((((((((())))((())()))())())()((((())(())))(())(()(()((()()()(())))))()()))())())(((())))(())(()))))((()()((((())))(()))((()()()))(())))((()))))())))((((())))((((())(()))())(((()((())()()))(()()()()))))()))))))(())((())()()(()()(()()())((()(()())()()()()()()))(()((())()))(()))()((((())(((()())))()))(((((((()()())))()))))((())(()((())))((()()))))()()(((()(()(()(()(())))())()))()((()()()))())())())(()()))))(((((()()))()())()())()(((()))))())(((())()((())))(()()()()))(())())))(())(((((((())())))((()((())()(())()()(()(()(()))(()()((((((())())()((((()())())()(((((()))(()))((()())()()))))())))(()((())()())())())(())())(()))(()))(()((())()))()(()())()((((())()()))(((())))()())))()))((()))))))))()))(()((())()()))()(()()()))((()()(())(((()))())()))(()))(()())()(((()(((((()())())))()((()(())()(()()())(((((()((()())()))()()))(()))))((())((()(()))(((()(((())))()(())()()())()(()(())(())()()()(()()()))())(())))))()()((())(((()((()(()(((()(()((()()(()((()))(())))(()()(()()(()(((()()())))))((()()))())()(()(()()(()((()(()()())(((()())(())()))()()())(((())((()))())(())(())()())))(()())(())(()))()()))())(())())()())))(((())))((())()(((())(())))(((((()((()()(())())()(((()((()((()(()()((())(((()((()))(())()(()((((()(())(())((()))(()))()(()()))(()))(()()()())(()())(())()(((()()()()()((((((()((((((()((()))())))()(()))(((()(()()))(()()(()(((()(()())(()())(()()()))((()((((()()()()()())))((((((()()))()))))))()(())()((()))()()()((()())())()(((((()((())())(())((())())))(()))(((((())(((()((((()()())((())(((()(()(()(()(()(()((()())())))(())))))()))))))(()())(())))()))((()(()())())())))(()((()(((()))(()(())())(((((())(())(()))))))(())()((((((()))()()((())((((())())))((()(((((())()()((())(((()))))()()())()()()()(())(())))()))(())())(((()((()(((((((()))()(()(((((())((((()(()(()))((()()))(())()((()(()))(((()()()((()(((()((((()))))()((((())((()))(((())(()()))())((()())())(()))()()((())()))))((()))))()((())))(()))()(()))))(())((((((()()()()(((())((())()(((())()(((()))))))))((())(((()()()()()()()(()())())))()())))()()())(())()))((()())(((()())()))(()((()))(())(()))((((((()))((()()))(((((((()))()())(()(()()())(())()(()((()()()))))))))((())((((((())(()())()))))()()))()))((())((()()))))(((((()((()()()))()(((()()))))()))()))())())()()))(((((()))()()))))(()))))((())()()()))())()(()(())(((())((()((())(())))(((()())()()))()))))(((())))(((((()())((()()((())((())))()(()(((()))))(())))(()((((()(()())(()))()((())())))()(()()(()()(()))(((())))))()))))())(())))(()(()()(((())((()))))(())(((()))((((((()(((()()))((())(())()())(())(()))())())))))))(())()()(())()())()()((((()(())()()))(()())))()()(((()))(()()()(()))))(())(()))())(()(()())))))()(())(())((()((())))(())))()((()(()(()(()))()))))()())((()()((()))(())(())()())())()(()(((((()((()()(((()(((((()())(()))()(((()(((()()(()()(())(())))))()))()(()()()))(()())())()(()((()())(())))(()(()(((()(()()()(((((((((()))(()(((())))))((((((()))))))(()(((((())())()(()))(())())(()())(()()((()))())())()))()())()()))))(()))))())))()(()((((()()(()(())(((()(((()(()())()))(()))(()((((((())()()()())(())(()((()()())(()))()))(())(())))(()((()(()()))(((((()(()()())))))(((()(((((())))()))(()))()(())(())()))())())())))((((()(()(()())))()())()()())(()))(()()((())())()(((()(((((())())))((()((())()((()()(()((((()()))((()()()((()()()()))()()()((()((()()())((())(())((())()))())((((()(()))))))()))))()()())(((()(())(()()(()(()(()))))(()))))(()))))((((())))()))())(())(((()())(())(()))(((()))((()(((()()(()())()())))()())))()((())((((())))()))()()()((()(()(()(())(((())(((()(())((()))()()((())))))))(())))(())(()())()()()))))())))()()((())))()()())))))(())))()))((()(())))))(()())()()())(())))(()(()))((()))((())())))))))()()(())()()))()))(()()((())))()))))((()(((()())())))())))(((()(())(((()((())(((())()()()))((()))())())((()((()()((()))((((())(()())((())((())(())(((()())()))()()(()((())))()()))()((()))))(()())))())())))()))()()()())()()()()()(()()(((())(()(())))(()()(()(()()()()()())()(())(())(((())()(())(((()(()((()))())(((())(((((()()()())()((()))))(()((()())()()((()((((())()()(((())()))(((())))((()((()())(()))(()()((((())(()()(()())(((((()()))(()((((()(((()(((((()))()(())())(((()))()())())()))))()())))()(()))()()))())((((())))())(()(()))())()()()(())((())))(((((()((()())())()()))()))(()(()))(((())))))((()(()))(((())((())()(((())())()(((((()(((())((()())(())))((()()))()))((())((()))()())))))()))())()(()))))()((()()(()()())()(())((())(((((()()()(())))())()(())(((())))))()())()(()())))()))))())(()(())))))()()())))(()((()((())()))))))())))))()()()))(()()(()))))())()()())()()((()()((()())((()(())(()()(()()(()()(())))((((((())))()()(())(((((((((()))())))((())())((()(()(()))())()(())(())))()())()(()))(((()()(())())))))())(()))()())))))))()()(())()))((((())))((()))()(())()))((()))((())()())(()((())))()))))()((()()((()())(()((()((((((()()(()()()))(((()))())(())((()))(()())(())(()))))()())((()()(()())((())())()))))()(())))()()()()()(()())(((()))()((()((((()(()))))))(()))(()))))(()))()()()(())())))((()())(()(()((())(())())()())(()))()(()()))))((()(((((())()()()())))()(()(())(()()))((()))())())()((((())())()))())))((()((())))(())()))())())((((()(())(((()(((())()()()(()))()()((())))(()((((()()(()())((())((()(((((())(()()(()(())(((()))))))())())(()())()))))((((()(((((())())()))())()))(())()))()())(()))((())))((())()))()((())))((((((((())()()()(()))()(()((((()()(()())))()()(((())()()((()())((())())(()(()(((()(((()()))())(())(())()(((((()()((()))()))(()))(()(()))))()()(((())((())(())((())(()))()(())(())()())(())()))(()()(()((()))((((()(())((((())((((())())())((()()))))(()(())((()((()())(((((()(((())()()()()(((()()((((()(()()((())())))())))))))((()(()(())((())(((())))((())))()())(())((())()(()(()))()()))()()))))(()((()((()(()(())(()(()()())()()))((()))()))))())())()()(()((()))((((()((()((())(())())(((())((()))())))(())))))((()((((()((()((()(()))()(((((()(())(()())))()))()()(()))()(((())()(()((()))())()()(())(()(()()())(()()(()(())))())((())(((()))))((((((())))(())())))))())(((((()(())))()((())(()()))))))()((()()((((())((((()))(((()(()))))()()))))))((())(())((()(((())(())((()))(()(()())(((()(((()))((()((()((((()()))(()())))((((((()()((((()()(()((((()))))())(())(())(()((()()()()((((())(()()()))())))))))()(()())()(()()()))((()))()())((()(()))((()((()((())(()())()()())))))(()))))()))(()()))()((()(()()))))(())()(((())(()))))))()(())())))))(()))(()())())()())())(()()))(()))))(())((()()(()((())(()((((())((())())(()()(()()))(()(()))))()((()())(()()((()))))))()()())())())())(())())(()(()()))((()())())(())())()())(()()(()))))(((()(())()))()(((()())((((()((()((())(((())(()))(()()))()()(())))()((())(())))))()())()()()()))))()()())(()(((()()((((()(())())())())()(())(())(((()))))))(())(()))(()()()()))())())()()()))(()(()()))())(()()((((((()))(((()(()())(((()()())()()))((((()()((()))))))()()(()()()((()((())))(()((()())(()((())())(())))()))((()))()))())())(()()))()((()))((())(()((()()()))()((((()()((((())))))(((()()))()())(())())))(())(())))((((((()(((()()()())(()(())(((()()(((())))()()((())()(()())())()((((((((()())(())(()))((()((())()(()))(())))(()((((())))))(()))()(())))())()(()))(())()()(()()()())))()((((()(((()(()))()((())())))))((((()()(()()())()()(()))(())()(()))((()((()(()()()(()((()))((())())()))()))()))()))))(())(()((())))(()((())))())(()))))(((((()))(((((()((())()())((()((((()))())())()(()()))))))()()))())((()))())()))(()(()))(()(())()())()()))(()(()())))))))(()(((((()))(()(()))))())((((())()()))(((())((((((()()()))()))())()))()(()()(()(()))()))(((())))())((()))((()))()((()())))))((()))((()()(()(()))))))(())()()(()(((())(((((()(((()()(()((()()))(())()(()()))(())(()(((()((()))()()())()()()))((()((()))()())()))()()())))())))())()((())))(())()((((()(())()()())(()()))))))))))))(())()()))))))()()(()(()()((((())(()()))())()))()))()()(((()()))))))()))))()))()()()))(())(()()()))))(((())(())()((((())(()))()))()())())((((((()))()))))(()())))))(())()())((((())()())((((((()))))))))))(()())))))))()))(())((()()()(((()))()(()()))))(()()())))()(((((()()())()((((()())(((())((((()())((((((((()()))()())(((())))))()))(()()(()())))((()((()()))((((((()(())()((()(()()()))())))())()(())(())(()())))))))((((()()((()()())()))()(()((()()(((((((()()((()))(())()(()())()))()()((()(()())))())((()))(((())(((()((()))()()(()))())(((())()()))()(()()()(((())((()((()((((()))()(()()()))()()(()()))))))))()))))()())(((())))(()(())))((())))()()(())())))))(((((()((((()((()((((())()(((())))()()(())(()(())(()((((())())))(())())()))()))(()(())))())()))))))()()()(()()(((((()()()()()((()))()())())(())((()))())))(((()()(()((((()(((()(()((((()(())))(())(()(()(()()((()()()(()())((((())))))(((())()))()(()()))()((()())))()(())())())()()()()()))()((((((((((()(()((())((())((()((()))(((()()()))(())())())))()()()))((()(()()())))))))()))()())())))(((((()()(()())))))))((((()))()))())((((()))()()))((())((((())(((())(((()))(()))(()())))())))))(()((()()()))))((()()())(())(())))))())(((((())(()(()(()()))()())((()))))()())((()))()))(())()(((()())(((())()()))()))()))(((((((((((())()()((()()())(()()))(())()())())())((()()(()()(())()((()()()()(())())))))(())()(((((((())))(())())()())()))(((()))((()))((())(()(())()))(()()))))(()))()))((())(()()(((()(((())(()(()(()()(()()(((())()))()(((((((()(((()()(()((((((()))()(())()(()())))))()(()()(((()())))(((()()(()((()(((()(())(()()(())(())()(())(((()()))()()))((())()()()((()))))))()()))())((())(())()))((())((()())()))()())))((((((((()(()))((())))())())(((()(()(((())()()((())))()((((()))()(()(())))()()()()()(()())(())())())()()))(()(()()))()))))((()(()(((((()(()))(()()()()))())((()()((((()())())()((()))())))()))())(((((((((()))(((()()(((()(()))((()()))(())))())(()((((())(())))()(())(()()()())))())()))()())))))())()((((()(()((()))(()))(()(((((()()((((()))()(()))((()(()((())()(()()())(())())(()()((()()(())(())))(()()(())()(((()))))))))(()))))()()))))((((()(())((()(()))))((((()((())()))((())()()()()((())((())((()(((()((())))()))))(())())()((()()())()(((()(())()(())(()((())(())))())))((()())()))()()()()((()(((((((()())))((())((((()((((((())))))()))())()(())()((()(()(((((((()(())()())(())))(())()(((((((((((((())))())))(()()())(()(()((((((((()()((()()(()))(())))))()(()(()))))()())()()(()(()()))))()))))(())((()()(())())((())((())(()()()(((()()((()())))))()((()(((())))(()())(())(())())))((((()))(()((()())(())))(()(()()(((()(())()()()()()))(())(()()()((((((()))())((()))))))()()))))())()()()))()())()((())(()())(()()(())()()))(()))(((()))((())))))())))))))(())())())(()((())()(()))())())()))(((((())(((())()()))))())(()))(()())))))))()())())()))()))()(())((()()())()((()((()()(((((()()(())()(((()()((()())((()(((((()()()(((()))())(((()()))((()()(((((()()())(())(()))(()()())))(()))(()))))()))))((()))))()()))(())())()())()((()())((())))))()()()))(())()(((())(()()))())(((()(())())())(())))((()()()())((((()((()))()()()())()(((()(()((()()))())())()())(()))()((()))))()()((())((()())(()()())((())()()(()()()))())())()((())(())(())(((()()())()))))()((((((()(()((())))((((()))()))))((())()())()()(()()((()(())((((()(((())())))))(()))()()))()((()()())))(()()()(((()(()(((()))(()))((())(()()(()()(())((()())((())()())()()(()))((())())))))))((((()(((()()(())((()()())((((((()())(())))))()((()())))((())(()())))()()()(()()))((()(())()))))())()()())()((()(((()((((())))(()())))(())))(()))((((()(((()(()((((((()((())())()(((()))((()(())(()())((()()((()))())))((((()(())()((()()))(()))))((())))()((()()(()(()())))(((((())(()(()()))))()())((((()((((()())()()())(((())()((()())(())((((()((()))))((()))()(())))))()))))))((()()(((())(((((()))(())))(())(())))(()()(()(()))))(((()())()()))()))()(()(()))()(()))((()))((()((()()()))((())(()(()()(()))())(((((((((()())))))))((()(())(()))))()()(((()((()(())()())(()()()))))((()()())()()()(()()())(((()()()()()))))()())(())()(((()((())(()()()()())((())()()()(())))))))(())()))))())))())())()(()))))(((((((()()(()))))()()()()())))(())()(()())(()(()()(()((()())())))())(((()(()())))))))()())())(()()(()((((((()))(())())())()(((()()()(((()))())((())))))((((())(())((())((((()))(())())(()(()(((((())))))(()()))))((((((()(()()))((()()(()))((()()))(())))))(((()((())()))((())))()(((((((()))((((((()))()((())())(((())(())(((())()()))(()))((()))))(()(())(()(()()))(()()()()))()()((()(()))(())(()((((())))(())()))())()(((()((((())()((()(())()))(()()(()))))(()()())(((())))()))))(()())(())))((()()()))()))((()))()()())(()))(()))()()()))((()))()))()())()(()()))()(())()())))())())((()())))))(((()((())))())(()(()(()))))))()(())(((())()()()()(((()())())))()))()))))))()))(()()()())))))))(()((((()())()))))()))()())))()(())))))((()())()))(((()()(()(((()(()))(())((())))())()(((()(()()))))())))())(((()()(()()()))())((()(())(())((()())()())))()(()())((()()()()((((((()())()()(())))())())))())))))(()(())())()))))((()(()))(((((())(())(((()()()()()))))))))))()())(((())))())(()())((((((((()())((()))(()((())()))()))))()))((()(()()(()((((())(()))())()(((()((()(()()()((())((())())(((()())(()(()))())((()()()((())))()())()())))))(())))((((()()())))()())()))))())(())))())))()))()())())(())()()(()(()()())((()((()()(((()()((((())(((()())()()))))(()())(()(()((((())()))))))()(((()()((()())(()))())()(((()()(((())))))((()((((())()())(()((()))()))((())((()))(())))))))))()))()))(()))(()(()(((())())(((((())()((((())())(())))(((())()((((((((((((()(())(())())()())()((())))))()())))((()()(((((())()))())((()())())))))))())))()((()(()())()()((()())()))())((()()())())))()((())((()))()))((()(()(())))()))((())))((())())()))))()())()(((())))))))()())()((((()((())))))(()))))())())(()()))((()()))))())()(()())))()())())(())()))))()()()))((()((())(()()(((((()())())())())))()()()(())()()())(())()())))(())()()))((()())((())())())(())()()))((()(())((((()))(()())(())())()())()((()()))))))(()())(())(())()))()()))())))))))())())()()(()()()()(()((((((((()()())()))))((()()(((()))(()))(()(((((((()()())))((()((())))))(()((()((()(())()))())))))()())))((((()(()())))((()))(((((()()(())())())))())((()()))()())()(())(())))(()((((())()(()))))))))(())((()(())))())))(()())(((((((((((((()(())())((()())))((()))))))))((()(((())()())()())()((()((()(((((()(((((())((((()()())(()()))))(((((()))())))(((()((())())))()(((())))((((())()))(()()))))(((()(((())))))()((())))()))(()()()(()())))(((()))))((()((())()()(()((((()))(()()))()))))))())()()(()((())((()()()()())()))((()()()())()(())((()(()))))))((())((((())(()()(()))))()(()(()(()()((((()()()(()(((())()))(((()(((((()))(())(())())))()))())))(((()((()))())()())()(()))())(()()()()(()())((((()((())(()(((())()()))())()()(()))()((((())()(())(()())))((()))()((((())(((()))))))))))(()())(())(()(()()()))())(((())(()())())()))()())))())(()()((((())(())()()())((((()()())(()())())(()())))())()))())()(())()(())))))()(())()((((()))(()))(())(())()()))))()(()))))((())())))(((()(())()(()))))))(()())())()(())((()((()))((()(())(()()(()(()())()((((()))())))((()()()(())))(((())(()))))((())))())())())(()())())))()))))()())()))())()))()())))((((()(((())((())()())(((()(()()()))))))()(())(()()()())))(()()(())(()())((())))()((()((((()())()))())((())(()((())()()())))()))))))))))()()(((((())())((()))()(()(()))(((()()))()())(())(())))(()))(()(())()((())))))(()(())((((()(()))()(()()))())))((()))(()))()()((()())))((())()))()))))(((())(()()((()(((()((((()()))((()())())))))()(()))((()((()()((()()((())((()()(())()(((((((((((())()()()))())))((())()()()((())((()())())()(()()))()())))()((()(())))()))()(()()))(()((((()))))))))))(()())(()()(()(((())()((((((())())((())()))()(((()()()(((()(()())))()((()(())((()(((()(((((()))()()()((()()()))(()())(()((()))(()(()()))((((()))()(()((()((()))(((()))((())()(()()))()())))()))()()(()(()()()))))((()()))(()(()()()))))()(()))(((()()()()((()))))(())()))(()()()))()(((())))()(()))()))))())))))()(())(()())()))(()())((()())))())))(())(()()((((()())))(()))()(()())))()((()(((()))())())())((())()))))()))))(()()()((())((((()()((()()(()(((()()())(()(())((()(()()(())))(((()((()))(())(((()()((((())(())()(()(())())())(()()())(()())()))()))()))))()))))((()))(()()((()))()(()(()()()())((()(())(())((((()((()))))(((()()(()()()((())((()))((()))))(()()((((()()(()((()())))()))((()))(((((()()()))()()(((()(()))(()(())((((()((())))())()))())()(()(()))(())((((()(()()))(()(()(())(()(()())))))())())))(((((()))((())())((())()()))(()))()()()()())()()()())))((()(((())((((()())(((()))))(()())()(((())))))()))))(())))))()()))()(())(())))()))(((()))))()()))()(((((())()(((()))))))))((())((())(()())()(())((((((()()())((()))()((()((((()))((((())(()(((()))()((())()))))()((((((())(()()()()))())())()))()(())()()(((()()))()((()))()())()())))(()))()))))())()(())()))()))))))))())))))(()(()))())((()))()()((()()((()((()((()))((())())(()()(((())))())(())())((()()(()))))(())))()(()((())((()))()(()()(()())()()())(((()()((()))(((((()))(()(()((()(()))())()((()((()()(((())(()))(((((()))())))))))((((())((()()())())))((((()()()()(())))(((()()(()(())()(((((()((((()))))(())))()))()()(((()))(())))()))(())()())(((()()()()))(((((())((((())((()()()())))((((()))))()))(())((()())))(()()()((((()(())()()))(())()())((((()))))((((())))())()(((())()()()()(((()()((())))()))()(()))((())())((()))))((((()(((()))((((())(()))())())))()))()()()))()(()()))))((()(()()))))())))((()(()))(((((()()(()(()())())(())((()()))))(())())()(())()))(())())(()))))(())))()()()((()))()()(())))((((()))(((()((()(((((()))()((())()))))(()(((())))()()(((()))(()))(()())(()()()())((()(()()))(()())()(())(())))())))()()())))((()()(((()))(()())((()())))(())))()()((()())))()(())(()((())))())())))())(((((()())((()()))))())()()))()(()()()((()())(())()()((())))))()()((())()()()()())()()))(())(()((((((()(())(()(())()())(((())()()()())()(()(()))(()(((((())))())))(((()))(()())))()()()((()(()()())(()))))()))()()))())()))((((()())))()())(()()((()(((())(((()))(()(((((()(((()))())((((()()()())))))()()))(())))()(()))()()))((((())))((((())))))(())((()()))())()(((((((()(((((()()()()))(((()((()(())()))(()(())((((())((()(()())))))())())()((())(((()()))))))))(()))()))))(()())((()()())))())))))((((()))))()(((()())))))(()()())()(()))))))(()(((((())()((()))(()((()))((())(()()(((())()))((())))((()))(()()(()))((((((((()))(()(())))()(())(()()))()))))(()))()(())())(((()))))))(())))()((()())()()(()()(()))()())((())(((())((())(()(()))(()))())))())()(()()((()()(())(())))()))(((())())))((()()))))))())(()()))())()())(()))))())()))(((()))(((((((((()((((())((()))(()))((()))))())))((())())((((((())((()))(()))())())(((((()))))(())())))))((()(()(()))(()())(()((()()(((((())((()()((()()))))())(())((())(()))(()()))())((()(())()))((()))()()())(()()))(((())())()()))))))(()())(())())()((()(()(())))())(()))((())())))()())((((()))(((()))((()()()(()(((()(())((()()((((()()())(()(())(((()((())(())())))(()())()())))((())())(((((()))(()))(()))))()()))))))((((((()))))((((((((())))()))())))))))()))())((()()(()()((()()((()))()(((())((())()((()())()((())))()))()(()()))())((()(((()()())()()((()(()()(()()(((()(((((()((((((())((())((())))))))(((()()))))()))))(())())((()(()()(((())())(((()()))()())))()())))())()(()()((())())(())))))(()(())()()()()(()()())(()((()))(())()())))(((())()()()))()((((())()()((()))))))()(()()((()(()())(()((((((((()))()())()(())(()((())))(((())(((())))())(())))()))()()))()()))))(())))()())(()())())(((((((())(()()(()))))()())())))()(((((((()()(()(((()(())())))()(((((()(())))())()())((()()(())(((())()()((()((()()(((((()())((())()())(()(()()()(())))())(())())()(()()()((()))(((())()))()(())())()())(()(())()()))(((((()((()())))))((((((()()()))((()(()(()(()()((()(((()()()((()))()((())()))))()))(()))((()())()))()(()())()()(())))()((((())))(()((())()()())(())(())))())))((((((()))())((())))()(())))()(()(()))()()))((()(()))))((())())))(()(()((((())()()())()()((())))))(((())((()))()))()())))(()()))()((((()))((((()))()())()(((()()())()((()))(((())((((()())))))()))()())((((((((()(()(()()))()())(((()((()((())))))(((()()))(()))((()))((()(((())(()()()(()(())()(((()(()(((())((())()((()))((((()()))((()))))))))((()((())()(((()(((()()(())))))()())())(()))()((()(()((((((((())(())))()()((()(()(())()()))))())))(()()))(())(())))()())(()())()(((((()))((()()(()(((()((()())())))()))(()()((((((()()(()()()())()((()()()((())())()()))(()(())()()(())())(()))((()(()((()()(()))()(())((()))()()()())))(()()(()())(((())((()))()()())(())))(()(()()))())((()(()))))())((())()(()))((())))))((())()(((()(())()))())))(()((((()()(((()(((()()())))((()()))()((()(()()(((()()(((((((()((()(()(()())(()))((())))))(()(()))(())((()((()))(((()(()()())))(())((((((((()((())()(((()())()))((()()))((())((()((()(()()()((())()((()()))))()))()(()(()((((()))))(())((((()()()()))((()()()(())((()))()()(((((((()))()()(()))))(()))))))(()()(())(()(()(())))((((()(()()()((())()((()))()())()))(()(()())(((())()(((()((())))()(()()())())))()))((())))))))((((((()()(()())))())(())(()(())(())))))())((()()))())))()(()())(())(()())(((())))))()()())()(()()))((()()))(()(((())))(()())))((((()))(((()()())((((())(()())((())())((()(()())()())()()))(()))()(((((((((()()())))())()()((((((((())())())()()((()))))(()(()()()))))))))))()()())))))))())((()))(()(()())))))))((()()(()))(((())))())))()((())((((())))))((())(()((()))((()()()))())())((()())((((())()((())()())())((()())((((((()(()))()))())())()(((()(((()()((()()()()))(()(()))())()(())()(()(())(()(()(())))()))))(()(())()))()())())((((())())(((())()(()()((()((((())()(((())(()(((()(((())())(()()(((())(()()))(())())((())))())())()(()()))())((())(((()())))(()()))))(((()()((((((((()()))(((())))(((((()((((())))()))()()(()())((()(()(()()())())(()))(())))((()(((((()())((()())))())))(()((()()))(())((()()()()))()))()))()()())(())(()()))(((()(()((())())()()())()()((())))))())))(())(((())))((())((()())((()())))()((())()()()(((()()()))))()))()))))((()((()(()))(()))))))(())())((())(()()(()()()))())))(()())()()(()()))()(()(()))))()(()()())))((())())())()()((((()())))))()(()()()(()()))((((((((()(()(())())))())))))()(()(()(((())(())))(((())))))(()()()(()())))()()(()))()())(()((()(()((())(())()))()())(((())(()))))()())))(())()()))()((((())())((()(()))(()))()()(((((()((()((()()(()())()()((()))()())))()))))(()(())(()((((()((()(())()(()))((())))((()())()())())))))(()()))((()())()()((((())))))(()()())(((()))((()))))))((())))(())))()))(((())((()(())())))(()(())))(((()()((()(()))())(()())(((()(()))(())()(((()((())()(()())())(())())))(((())))))()))))())))(()(()()()())()())))(()))(()(()(()(()))((()()(((())(()(((())((())(((((()((()(()())()))())((()((()())))()()))(()()((()()()(()(())))((()))()()))))(((()(()))()))())()()(((((()()(()()))(()()((()()((()())))())((((((()()((()))(((())((()))()(((()()(()(()))(())(()))))())())))()()))))))(()()((()()))(())(()()(()((())(((()()(()()()(()())((((()(()(()))())))((())(()))))())((((())))))())(())())((())))((())(()()((())((()())()(()((()((()))()(()()))))))))())(()()))(((()((())()()()())(()))(()())()(((()()())(()))()))(()(())())())())))))()((()()(((()((()))))))((((()))))))())()(())((())()((((()(()())((()(())(()()))()(((()((((((((((((((()))(((())(((((()()())((())))())))())(((())(((()()((()(()())()()()))(())(((((()())))()))())())()(()(())())(()((()))((())))))()(()()((((())(()))))()(()())()))()()()()))(()(())()))(()))))))()(()()())())(()()))()())()())(())())(()()(()())(((())(())()(((()())((())))))()))(((())))))))))))(()((()))()(((((()()))(())))))((((()))(()()())))((((())))))())(()())()))((((((()))(()())((()))())(()(()()(())())(()))))()(((()))((()()))()(()())()()()()()(((())()(()())))))((()()(((())(((((()()))(())())))))()()(()(())((()())))()()))()(((())((((((()()()())(())))(())))())()()(())))(()(()()))()()()((((()))((()))((())((()(((())))())((()())))))())())()()((()(())(())()))))()(()(((())())(()))(((((()))()())((()(()(()))(()))()((((()))((((())))())()()))(()))((()()))))))(()())(()())(())))))))()((()((((((()(())((())))()))))))((((()))(()(()()))))()(()(()(()()()()(()))((()((()))())(())((()((()))))()((()))()(())(()(()())))((())(()()))))()()((())))())(())()()((()))(()()))()))()(()(((((()(())()()((()(())()(()))())()((()))())))()))))()(())))(()(()()()()()(()()()((()()(()()((((((()))((((()(()())(()))))))())((())(()))()(()))()()((())(()))()(()()()))()))())(()((()))()()()))(()()())()))))))))(())(((((()())((()(()))()))((())(()()()(()((())()())(()))((((()()()()(())((()(())((()())))()(((()(()())))())(())((()())()(((()))()()))((((()((()))))()()((()()(()))((((()))(()(())))())()(((()((()))))))(((()(()((()(()(((()()()()(((())))(()(()(()())()))))))()())(())))())))((())(())())))()(())))((())(())))()(((((()))()))(()((())()))((())(()()())(((())(())()((((()()()))(((()()()(()()))())))()())(())()))())()())(()(()()((())()((()()(()()))())))((((()()(()(()))(()))()))(()))))(()(((((()()(())())())(((())()())())(((())))(()))())())()()(()()((((()())))))(((()()(((()((((())())(((((()((())())()))(()()()())(()()(())(())())())(()()()))))(()(())()(())(((()()()(())()))()(((())))(()()()((()))()))())((()))))))(()(()()()(()())(()(((((((()())()())((((((()()(((((()))())((())()((()(())())()(()()))((())(()())((())))()))))))()(((()()()))())()())()(()))(())())))()(()()()())((((()((()(((()((((((()((())((()))())())(())((((()(())((()()))(())()(()(())))))((())(()((())((((()()()()((()((())(()()()(((()()(((()(()((()(())()(((()((()((())((((()(()()))()()((()())(()((()))())))()(()((())))))))()()())))(()))())))())((())(((())))()()()()())))(((()))())(((()()(())(())())((()(((()(((((())()())(())())))()()(()))(())())())(()))()((((((((()))))()))))()())(((()))((()())(()())((()((()())))(())((())()())()()((((((((((((()((()(((()()())()()))())()((()())(()()(())()(((()()())()))())()))())())()()()))()))))())(()))())))(()((()()(())))((()()()()(()))(()(((()()())()((())((()(()())))(())()))())((())())()((())))()(()((((((()()))(()()())(()())()((())(()())(()))((()(()()(()))())((((()()()(()()))((()()))))((()((()()())())(((((()())((()()(((()(()(()((((())()((())))))())))()(()(())))(((())()()())))(((()))((()))((((()()))))()()())()()))))(((())()())()()(()(()(())((()(()((()(()())())((((()(()()((()())((((())(()((())(((())))))())((())))(()((()(())(((())(())()())((((()((()))))(()(())()())())(((())((()))()(((())()(())((()(())((()())()))(((())))((()(()())()))))(())))(())())(())())())()))(()(())((((())))((()))(()((())()))(((((()())()))()((())(())))(()))))()))((()))(()))))(())))))(()()((((()()(((()((((())()())))(((()()))))()((()())(()))()))))))))()((()))())((())(()))()((()())(())())(((()))))(((()(())((((()))))()(())((((()())())((((((()))(((((())(())))(((()(()((()(((((()(((()())(())))(()(()))(()()((((()))()())())))()(())((())))(())()(((((())())))()(((())((()())()()(()(()((()(())((((()())()()))()()()((()((()))()(())()())))())((((())(())())))()))))))((()())()))))))))()(())())())()))()())(((())()))((()())(()())))))()))(())()((((()(()())((())(()((((())((()()))((()))())(()))()))()(((()()))((((()()))(((()())))(()(()()())((())()))()(()((((((((()(((((())(()())))()()))()))(()()(()()((()))(()(()())((()((()(()()((((((((()))))))()(()))())))))(()(()(()((((((()((((()())(()(()(((((())(((()(()())()())))))))))()))))))(((()(((())))((()((((())(()(())()()())((((()((())(()))())()()())))()()())())()())())())(()(((((()(()())((()()(((())()())()()()((()()())())((())))))())((())())())()))))()))(()()))()()))())((())(()))))()(((((()((())()(()())))))()())(()(((()))((())((())))))))))))())))((()())))()()(((()((()(((()))))(((())))(()()((((((()()(())))(())()((()(((()))((()())))(()())())(())(()())((((())))((((()()((()()((()))((()))()))(()()(((())((()()())()((((()))(()))))(((((()()((()(())(()(())(((()(()()((((()(())(((()((()))()((()()(((((((())((())(((())))())()((((())()()()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

()((()()())(()))((()(((()()))()())()()()()()(())(())()()))()(((()())((()(((((()(())(())()()))()())(((()())()((())))())()))))(((())(()((()(()(())()()()(()()()()(((((()))()()()))))())(())))((()()(()))((((((((()))()))(())()(())()()()(()))))()))))()(())(())()(())(()))))()(()((())(())((()(()((((((())(()(()))((())()()()(())(())()()()()()(()()(((())())(()(()())((())((()(())(()(())(((())()(()()())()(()(((()()))(()))(()())()()(()(()(((()))()))))))()(((())(()))(()(())(())()()(()((()()()))())))(())()))()())))()(((()(()(()(())(()(())(()())()()((()()))())()))))()(((())(((()()(()(((()(()(((((((()()((()()((((((()((((()))((()(()((()))((())(((((()())))))())))(()((()())()(((((()(()()()()()))))))((())))()(())))()()((())(()()))((()()(()()((())((()()((()((((()(((()))()()()))()))()())()))()()((())))((()))(()())((())))))(((()())()((()()(())(((((((()(()))())(())))()()())())(((()(((())())))()())))))()()))))(())((())()))(((((()()()))((()))((((((()))(((())()()()))((((()(()()()())(())())(()((((()))((())()(((()))))((()()(()(((()(())()()(((()))(((()()(((((()(()(()()((()(()))()))()()))()()(()()()((())((((()()))(()())((())))(()())())))()(()(()((())))()(())(()()))(()))()())))))((()())))())((((((((())((((()()()))(())((((()()()(()()(((((()(()((()))()))))(()))))()())(())(())))))(()((()(((((()))((()())()(()((()()()(())))((()())()(()))((((()()()()((()()((((()(()((()))()()(((()))(())())())(()()))(()(()((()()))())()))))()))()(()())(())()(()))()((((()((()()(((()(((()(())())(()))())))((())((()()()())(()())))))())))))((()))())(((((())()())()(()()(()((()()))()((((((((())(()((((())(()()))))()(()()()()(((())()((((()(()()()))))(((())(((()()()))))(()()(()((((()())))()((()))))()()())((()))))()()((()))()(((()(((((()()()((())))((((())(((()()(((()))(((()))))(()))(((()()()))))(()()()((((()())((((()(()))))())()((()))()))()())(()))(((()()))()(())))()))(())((((())()(()((((()((()()()())))()())()())(()()))((()()))())(((()(()((())(((()))())()((((())((((()()((()(()()(()(((((()()())))(())((()()((()))()()()())()()((()(()())))(())()(())()((()(())))()()())(()(()))()))())))()))()()()))))()(())())((()((())))((()(())((())())()()))(()()(()())))())))()()()()))(()())))()()(()())))((((())())()))(()))(()))))))()((((()((()(())()(()())()((()))())((((((()())(())()))()()())()(((())))))())((()()()())((()(()()))))((()()((()(())))((((())()))(()())())()())(()))))()(()(())()))))))((()())()((()(((()(((())))()((()())((((()(()))())())()()(()(((())())())((())()()((()()))()())()())(()()())()))))))(()))(())(()))))())))(()(((()))))((((()(((()(()((()())()())))((()()()()))))(()()((()((()())))(()))())((((()(((((())))()(()())(((())(()((()()(())()())()((((())())()()()))()(()()))))()()())))))()(()((()()()((())))(()(())))())(((((((()))()())())())))()())(()()()))())(((()((()))((())(()()()))))()(()(((((()()()))))())()()()(())()()((((()((()))))))((((()))()())(((())(()())((())())(()))()((((()()))()()())((()())(())()()((((())((((())(()))(((())))(())))))))()()(()))(())()))()((()))((()(()())((())(()))()()))()((()()()))))(())))()()()(()))((())())))))(((()))(())))))((()()()()())(()())(()((()(((()()()))((((((((()(()()()()(()))))))()(())))((())()(((())()(())))()(()())())))()((()))))((()()()))()))((()))(((((()((((()((((())(((((())()(((()()()))))))((()))()()(()(()))())((()))()()()()(())(())()((())(())()(()))((()(()))((()()())(()()((()(((()(()(()())(((()((()))))()()(((()(()((()(()())()()((())))))(())))(()())()))()((((()())((())))())())))((()()(()(((()))(())(((()))(())((()))(()))()(()())()())(())))()(()(()))()(((()(())(())()(()(()())())(())((()((((()()(()()))())(()))()(((())()())()())((())))))()())()(((()()()(()((()(((()))))))(()())(()(()))(()()(()))))(()())(((()((()()())))((()()()))))))((()))())(())(())())))(((()(((()())()()((()()())))()))))()))))))()()))(((()(()(()))()())((()))(()))()))))))(()())()))))())))((()))))))()((()))))(()()(((())))(()())(((()()()(())(())((()()()))((((((()()))))()(())))()()))((())(((((((((()(())))(((()((())))()()()((()())()()((()(()))()((()))())))(()))()()()))()))))))))()(((()()()(((()()((()))(())(()))()())()()(((()(())()()(())(()((()))())))))))))))))))(((())()()(((((()())))()()()(()()))()())))(()()())((()))(()))()(()()))(()(((()((((()()))))(()(((())(()(()((()()()(()))(()(())())))()()))()(())(((()((()())((())())(()(())(((()(((((()((((()(()(((())(()(((()())()(((())(())(()())))((())))))(()(()))())((()())(((())())()())()())())))((()(()))(())()())()))))())))))())())((()()(())((()))((())((())))()())()(((()()(((((())((()()((()(())))())()((())())(())(((((()()))((()()()())())(()))))()))(()())))))))()()())))((()()))))())(())))()((()()(()())))((()))())))))()(()))()(((())))))())()))(((()))(()))())((()())(()))))(()(()()((((())()((((()(((())())(())))))())((()()((())))(()))))))(()()))(()()()())()))()()((()()(()()))()((()()(()(()))()(((()((()()())()))))((())))()))(()))))())))()((()(((()((())())))((()())()(((())(((((((((((()())))))))))((((()()()()())))(())(()()))())(())()))(((((())))(())()))(())))(()(()))((())(())))))(()))))(()(())(()))(()()))(((())))()((())())))(())(((((((()()()))(())))))))()())(((()((((()(()()((((()()(()()))(()((()(((()()())((()))(())))())(()())))))(((((())((((()(()))(())(())())))(()()()((()(()(()())()(()))))))()()()())((((())()(((()(()()())((()))(()())())))))(()())(((())((((((())))(()()()()())(())()()()()))())((((()(())))()())(((((()())))))))))((())())))())()()((()((())(((()))(()))(())(())()))(((())))(()))(()(())(()))())((()())())(()))(())()(()))())))())(()()((()))))(()()))()()(())(()(()(()((())))))))))()()()(())()(())()()((()(()))()((((()))())(())))(()(())))))((()())(()()(())(())(()()))()(()))((((()()()()))))))))()))(((()()(()(())()())()())()(()))((()()()((((((((())()()(()())))(()()(())))(()()(()))(())())()()((()()))))((()()()())))))(())(())()((((())((((((())(()(()(()())((((((()()(()(((()((()))))())(((())())())(((((((((((((((()()(((()()())))()())()(()))()))))(()()((())())(()())))(()())((((()())))))(((())(((())))))((()))(()))())))()()()))()((((())())())))())))()())))))))()()())(())))(())(()((((())()))()((()((()(()()((((()()(()()))(((())()(()))))(()(()(())()(()))(((())((()(()))(()()))))()))(((())(())())))(()()()))((((())((()((()()(((((((())(()()()((((()()((()())))))()())())(()(())()))(())))))())()()(((()))()))))(())(()(((()(()))))(((()()())((())())(())()(()))))(((())(()(())()))()))))(())))())())()))((()())()(()(()())))())))()()()()()()()(()))))()))))(()(())((()()))(()))(()()()))())))))))))(((())(()((()(())()))()(())())(()((())(())))))(())(())())()(((()))((((()(((())))((())()()(()(()))))())()()(((((()(((()(()))((()))(()((())))((()(()(()()()((()()))))))(((()(())())))))()((()((()))()))))))()()(())))()())()))()()()))()())))()((((()))))(()())()((()))())()(()))()(())((()))()(()())(()()())()((((((((()())()((()()()))(()()))))()(()()))(()((((((()))))))((((((()(()(()()))))((()(((()))()()(()))))(()))))())(()()(())))(())()()((()())))(()((())(()((()(()))())))((())))()(((())((((()(((()())((((()(())())(())()())))))))()()))))))()()(()())()()((()()(())(()(()(()(()())()))))())(((((())()))(())(())))((()((())(((())(()(()))((((((((()))())((()))()(((((()()))))((())())()((()(((())((()))(()))))))((())((())())()))))))(())()(()()))))()()))()(())((((()((((()()()((())(())())()())((()()()))())(()(()((((()()(())((((()()(()()(())()())())))(()((((()()((()()))(((()((()()))))()(())(()(()(((((((()(((((()(((()(()()())()(())(())(((())(())(())()))()(((())(()())())(((()((()((()())))))()))())(()))()()())((()())((()()()()()()()))()(()(()(()(())))()))())()()(()((()((())())())((())))))))()))()))((())(()())(())(()()))))((()())((()()()(((()((((()(()))((((()(()(()((()()()(()((((()())(((()()))()(()(()()((()())(()((()((())()))(((())())(()))(((()()((())((()))((()((((()()()((((()))(())))))()())((((((()(((((()()(()(())())))))))())()()())((()((()()())((()))(((((()(((()()()(((()())(()))())))()(()))()((()()())((((()))((()))()((()(())(()()))((((())(()()(()()())(())()()(())()()()(())((())())(()())((()(())()))))))))((())((())((((()))(((())((()))))(((()(()()()()))(()))(()(()))))))())(()()(((()())))))))(()()(())(()()))()()(()()((())()((()((((((())))(()(()))))()))()()))(()))(()(((((())(((()()())((((()(()(()()(())()()()(()(()((()())((())())()()))))))))()(()((()(()())()()()())())))())((())(()(()(())()()(()())()((())))(())())((())())()))))))((())()(())()(()(((())())())()(((((((((()()))()))))()()((()(())))))))()((()))(())))())))()(()()))))((()()(()()(((((()()))()())()(())(()((()()((((((()((()(())()((()))(((())))(()((())())()(())()((((())))()())(()())(()))))))((()()(()()()((((()(()()(()((()((((())()))((())(())((()((()()())))))()))()((()())))))(()))())(()))))((()(((()()()((())(()())())()((((()()((()((()((())())()))(()())))))())(())()()))(()()))(())((()))()))()())(((()()))((()))(()))()()()())(()())))((((()(())))())(())()))(((())(((()))(()))))(()((())(()((()))((((()(())()(((())()())((())((())(((()())))((())))()))())()(((()()()())()()())()))))))))()))))())))()))))()(((()(()()))())(())(((()()))()(()())())()(()))))(()))()))()()))()(((())))(())(())((())()((()())()(())))))())))))()))((())())(())(())()))))()(()()((((()))((())))((()()(())(()))(()()()))()(((()))()))()))())((())))((()()(((()(((())())(()((()))()(((())(()((())))(()(())(()))((()))()))())())())(())())))))())((()()))))))())))((()()))()((()))))()))()(()))(((())())()()))))))())()(()()(())))))))()((()))))(((())))))(()())))((())))()))()(((((()((((())()((()(()))((())(())()(()))()))((()())()((())()(()())((()(()(((()(((((()(())(()())))))()((((())))()()(())((()(())))(()))))()))()()()())()((((((((()(((())())((()()((())(((()))()(()())(())()))(()))()((()))))))(())))))))))()((((()))())()))(())(()))())(()(((())((())))())))())((((()((()((()(()(())))()((()())))(((((((()))(((()()((((((()))()((((((((()()(())))))(())(()((())()(((())()(())()(((()))(()))())()(()()())(((()(()((())())()))((((()()()()))(()())))()((())(((())()(()))()(((((()(()()()()()))))(()()))(()()())()())))))))()()())))))(()()))))()))()(()(()()))))())((()(())())(()(())())()(()())()(())()))))()(())())((())))(()))()(((()()((())(()))))))()())(()()((()))()))()((())(()))(()()(())(((()(((()()))()(((()((()(())())(()(())(((())()(((()())()()))()()))()()())())(())()())()())))()()()()())(()()(()()()(()())()()(((())(())))())()))((()(()(())))))((()))(())(()(((()((()))(()()((((()))(())()())())()))))((((()())))())())))((())))(()())))(()))(())))(((((((()))(((())(((()()((()((()())))()((((()))(()))))((())()(((()))))))))()))))())()()(()(())(()()))()()(()((()))()))()()(()()()))()()(((())((())())))((()))((()()))((()()()()()()))()()()(()(()(()())())()())((((())())())())(((()(())()((()()(((()(((((()()()((((()()()))(())()())((()((())((()()(()))()()))))))())((()(()(())((((())(())))()())(()()()()(()))())()()()())())())()())())(()((()((()())(((()((())()()()(()((()))()(((()(()()()(((()()(()))()()((()))()))))(()(((((()()(())(()((()(()))(()()(())()(())()))()(()())()((()))()()()(())))()()))))))()))))(((((((((()())(((((())(((((()((()(())(((()((())()(((((())()((()))()()()))))()))()))((()(()((()())()))()))(()((((())))()))((()()())((())))))()())))((())))()(())())(()(())(((((())))(((()()((()()(()))))()))(())((((()))(())()(((()())(()((())(((()))(()))())((()))(()())(()()))((((())()()))((()))))(()())()))(()(()((()())(()()()(())))()))))()(()))()(()(()))(())((())()((()(()())())))()(())))))))))(()()(()((()((((()(()(()((()()))(()))))())()))()()))((((()()((()()())))())()(())(()))()())))(()()((())))((())())()((((((((()()()()(()())))()))))))()))())())((()()))())(((())()()))))()((((()((((())()())())))()()())()))))())))))()))()(()())()(()))()))()()()((()))()()((()(((((())((()())))((()()()(())(())(())((()(())(((())(())))()((()())())()))()((()()())))(()))(((((((()(())((())(())(((()()))(()))(((()())(((()()))))()((()())(()((()())()))(((())(())))(()()()((((())(()())(()()()()))())(()((())(((()()((())())()))(())((())()(())))(((((())()((())))((()()(()(((()(()))()()))())))(()()())())))()(())())(((()))()(())(())))))(()(()))((()())(()()())))(())((((()(()()))()((()())()(((()())((((((())(())))))()())(((()())())()()()(())()(()()((()()()()()(())))))(())))))))))()((()())))))))()()()))(())))())()))()()()(())()(()((()(())((((((())()()(((())))((())((())))((()())())))))()((())()(((((())))(()))))(())()))))((()(()()(())))((()()))())()(()(()))(((())))()()()(())()((()()()(()()())))((()(()()()())))(())((((()()))((()))((())))())((()())())()(((()())))((()(((()(()())())()))(()))()((()((()())(()(((()()))())())())()())(((((())(())(()())()())()())()))()((()())()()()()((()()))()())((((()))))((((()))((())()(()()))))(()())))()(()((())))(((()())(()(()()()((()))))))((()((()())(()(())()))(((((())))()((()()(())))((()()(()())()()))(((()((()()()())()))(()(()(())((())((((())()((()(())))())))(()))(()))()((())))(())))(()))(()()()())((()))))()())(())((()(((())((())(((((((())())))(()((((()))(())()(((()(((())))(())()())))((((()())(())()())))))())))))))()()))((()(((((((()(())()))()((()()))))((())))())((((((())(((((((())(()()((((())())(()())()()())()((()()(()((()(((()()()((()(()())((()(())))()))((()()((())(((()()((()((((()())(((())(()()()())()((()((()())()(()(())))())(((()))(((((())())(()()))))(()))))(()))(()((()(())()()(((()()(()()(()))(()(()())))()(((()))()()(()))((()(()((()())))((()(()(()))()((((())))(()(()))()))(())((((((())()()((()()()()))()(()))())()(()))((()()(()((())(()()((((())()))((())(()))(()(()(()((()()((()())))(()()()))((((((()())((()()(((()((()))((())(((()(()(()))))))(((()))()()))((((((((()))))))))()(()(((((()())(()())((()))((()))))()(()()()(()()()))()((()()())(((()()(())(((())))()(((()()))))()((())()())())())))((()()((())))((())))()))(())()())())((()(()())(()(()()(()((()(()()((((()()))(((())))()()()((((((((()))())()()(((()))()())()(())))((())())()(()))()(()()(()()((()()(())())()))((((())((((())(((()))()))()(()))((()()()()((()))(()((((()()))())))))()(()())())()(((())(((())))))))))(()((()())())()(((((()()()((()(())((()((()(()((()())(())()()((((((()))(((()())((()()()))(())(())())))))()))))()(()(())()()((((()))))()()())()((())))((()(((()()))))))((((())(()()))())))())(()())())()((()(())()((())()())()(((()()((())()))()(()))((()(((()((()()(()()()(()))((((()))(())))()(()(()(())(())())))()(((()))())(((()(()(()())))(((())())(()((()))))()()())((()()()(()()()()))))))((()(()())()()()(((()))))())()))(((((()(())(())()()(()())))((())()))()()))(((()))))()(()()()))()((()())(((())()(()()((())))(()(()))(((())))()(()))()())((())()()())))(((()()((((((((()())(())))))(()()()))()))))()(())(()((()()()))(()(()())()(())))(())))(())()()()(())()))(()(((((()))())((((())))(()))(())()())())()(()))((())()()(())()(()))(())()((())(()())()(((()()))))))))()()))((((())))((())()()())()))()))()(()())(((())(((()()((()())()()))())())(()))()))()(())(()())))(()))(()()((()))))())())()())()()))(((())))()()(()()))())))()))))((()(())(()()())()(((())()))(()()()()((((((((())))((()(()(()(())(()(((()()((())((((()()(((()))())))(())))))((())))((()(()()))(())))(())()()(((()((()(((((()()))(((((())())(()))))()())(((((()))()()(()())()((()()()())())()))(()(((()())))))())(((((((()(())))(()((((())((())((((()((())()(()(()())()))(((()())())))())((())(()(()())))))(((()((()()())(()((()((()(())()))()(()(()(())()())((())(()(()))((((()()()))(()(()()()(()()()))()))((((()())())((((()(((()(()()(((((()(((())()((((()()(()()()((()(())))())())())((((((()))((()()(()))((((((())()(()())()()()))())(()(((())(()((()))()((())()()()(()(((())(()()()()))(()())))())((()((()()()(()(())(((()()(()))()))((((())()())()(((((()())))))()(()()()(())((())))(()))))(())()))()))(()))(()))))))))(((()()()(((()(((()))))((()())))())((()(())())()()))()))())()))(())()()()(()(((((()()(((((()((())((())))))))))(((()(()))))(()))())()(()))())(())()())())))())((((((()())))()(())((())())))))())(()())))))))))))()((()()))())))()))))())()(()((((()((()()(()()((())(()))))))((())))()())()()))((()))())())())()))(((()(()()()()))())))()(()()(()))))(((())(())((()((()()())()))())(()))))())()(()()(()(()()))(()((())(())(((())(()(()())()((()(()()(()()())(()())())((((())((()(((())(((())())(((((()())))(()(())(()))())((()())()()()()((()))))())()))))(((((()(())(()))(((()()((()(()((()())))()((()))())()))()()()())(()()((())())))))(()()((()))(((()))))()(()()()(((((((()()))((()(()))(()))((()()()(()))(()))))(((()()()((((((((((()(()())(())()()()(())(())(())(()))()((())())))()))()((()(())(())()))))))))(()))(())))((((((())))())((())()))(())()())((((()()())((()))())((()(()((())((())((((())()))(()(())((()(())(()(())))())))()(()(((())(((()))(((()()(())(())((()))())())(()))((()))()(((((((((((((())()(()(()))(()((()))(()))())())())(()()()(())(()(()(()(())()()(()(()(()()))()())()(())()()(((()()))(()()()()(()((()()((()((()()(())))())))())()(()())(()()))()()))()()()))()()((((())((()(()))))())())(()()(()(()(())))()(()((((())(((((((())((((()())))))))()()(())))(()()((())))(()((((()(((((()()()))(()())))()(())()())()())))(()((()(((()()))()()()()()()))))())(())))((((()()()())))))))()))()(()()(()()()))()())()(()()((()())()(()()))()(())))()())(()(())(((((((()())))(()())))(())())(())))(()))()((()())()(())(((((())())(()()(()))))()()(())(((())(((()(()(())()())((()((())((((())(()(((())(())))(()())())))))())))((()))((()))(((()()((())()((()(()))))(()(((()))))())()()))))((()()))))()))))((())()())(()()()))))(((()))))(()())(())))()())(()(())())))(()((()(()()(()))()))()()())()((((())()(((()())()((())((())((()())())((((()())()(()()))))))))))))())(((())()()()))()()((()))(())(()()(()()(((((()()))()(((()))(((()()()())(((()())))((()())(()((()))(())(()((((())()((()())(()(()()()(((()((((()))()))((()(((((()(()(())()(())(((())))))(((()())()((((()())((()))))(()()))((()()(((())(())())))))))((((()(()((((()((()()()()())(()((()))(()))()))((()(())))()()(()))))((()((((()(((()((()))))))))(()((()(()()()))(()))))(()()((())(())()(()))))(())(()((((())()()()((()(()(()))()()()((((()()()())(()()))(()())()()(())))((()()(()()((()()))))())))(()()))()))()(((()))(())(((()())()(()(((()()()))))(())()))((()(()(((()))))(()())))()()())))(())(((((()(()()()))())))))((()((())())())((()(((())()())))())))())(()())((())()())()()((())(((())))(()()())))()((((((((()))()((((())))((()())()))))))(((()((())())))(()))(((())()))))()()(()(()))()(())))))())))(((()()))())(())(()()())()))()()())))))(())))((()))()()()(()(())))((((((())(()()()(((()(()))()())))())(((()))(((()(()))(())(()(((((((()(()))()())(())()(()))(()(()(((()()))()(((((()()((()()())())))))(()())())(())(())()()((()()(())(()())(()))())(())(()()())()))((()))))))()()()()((()))()()()))())))((()((()(()))(((())())()(()()(())((())((()(())))())))())())(((((()))(((())())))())))()((()))()))((()))()()))()(()))))))()())(()(())())()()()()))()))())())))(((()(((((()(())())()())(()))()()()(()))()())())()))((((())())()))((()())())(()(()))()))(()())))())()))(()))((((((((()((()()()()()((())))()))()(()(())(())())())(())((()()(()())(((()()()))))()()))((((()))())((())(())(())()))((())()))()(((()()(()())(()((()((()))()(((())))()(())(()))(())))((((()(())(())))))(())())(()())()(())()()(()))))(((())))()(((())((((((())))(())(()))(())())())())))(((()())(())((()))(()()(())()(()))())())(()))))))()(()())))(())))))()()()(()((()))())))(())))()(((((())))((())))))(()(())()()))))()))())()())(()))))())()(()(()())))(((()())))(((()(())))(((((((()())((())()()((()(()()))))))(()))()())))(()))((()(())()(())()))))()())()()))(())(()))))()()((()(()))))))()))(()((())()(())(()()(((()))()())))(()(())()()())(()(())))))())()()((())(()(())()()((())()))()(())())(()())(()())(()())())((((((()))(())()((((()))()()(((()(())(((()(()()(())(()((()))))()))(((()()))((((())(())()()(((()))))(())))(()())))))()))))()(()((())()((()()))())()))(((()(((()()())(((())(()((()((((((()())()())()(()(()()()()()))())()()))((((()()(())()))))))))((()()(((()((())((()())))((((()))((()(())(()((())))()(((()()))(()(()())(()(()(()(()()(()())))()())))))(())(((())(()(((())(((((((())(())()((())))(((()())))(())()()))((()))(()(((()(()(((())()))))(()))(())()())()()(((()()))(())()()((())())()))()(()((()(((()()())))())())())))))()))))(((()()()))())())))))))(()((()((()(()(()()()((((((()(()))))((())()()(()(((((()()(())((()(()()))()))()()))(()))(())()(())(((((())((()))))()(()())()((()((())(()()(()((()())))(()())))))))(())(((((()()))()(()())())(((()((())))(((()(((((()()()))((())(())()(()((((()()))(()(()()((())))(()())))))()((((())))))())((()((()()))())()())(()))()()()))())((()()(())((((()))(())(())((())()())(())()()((())(((())()))))((())())())())()())(()(()(())))())))(()())))()()((((((())))()))()()()))(()(())))))()((())()))()(((()))(()()()()())()()(((()())()(()))(()))())(()))()())()())(((((()(((()((((())))()()((()())())()()))((((()((()()(()))((()))()))))((()(((())()())(()()(((()(()())()())(())()((()(())())((((((((((())())())())(((())())())))(((())))())(((()()()()())))()()()((())))(()))()(()(((()())()()(())(((())()))((())(()()()())()(((()(((()(())))()())()))()()(()))((()()((())(()()()())))()((()))((())(()((((()()))()(((())((()()(()())(())()())))((())))(())((((()())))()()(())))))(()()())))())))()))(())))(()(((((())))()(()(()((()(()((()))))))))(()))))()(()(()()((((()))()(()(())())(())((((()()())()((()((())(()))()()))())))((()())))))()))))())))((((((()()(((((((()(()))(((((((((()(((())()(((((()))()((())))))))()()()))()(()(()()))(())()(())))())(((((())()))(()()(())))())()(()(())(((()(())()((((()(())((()((())()()()(())((()()(()))()))()))))))()((())((()))())(()))())))())))))(())))))((())()()))()((((()((()())()((()())()(())()(())))()()))(())((((((()(()()))()))()(((()()))))())())(((())))(()(()((()))))(((((()(()((())()))()((()(((((()(((((())))(()))))))()(((()))())(())(())))(()())(()))))()())))((()())())))()))))(((())))()()(((())))())))(())((((())(())()()()())))(()(()())))(((()())()(()(())()()((()(((()))()((((())()(()())())))))())()))))())))(()()))((()()))(())())()(())(()(()())((((()(()())((()(()))()((()()())))()((())))(())))())())((()((()))(()))()))())()())()()))(())))))(())()(())()()()())()()))))))))))())(((((((()(((()())((()())))()))(()())())((())))(((())((((())()(()((()()())))))()(()()))()()()()(())))())(()))()()(()(()())))())))))()((((((()(()((()))(()((())))())())()()())()()(()))()((())((((()(())((())(((()))))(((()()((()()()())))))(())))((())(()((()()))()(())))()()(((()()())((()(()((())()((((()(((()()()))))))(((())()()))((())(()(()())()())(()())((()))((()))(((((())((((((((((()()())()()()())((()()))))()()))())))((((((()()(()()))())))())((()))()((()))()(((()())()))()))))()(()(((((()))(()()(((((((())(())(()))((((()))((((()(()))()(()()())()()(()()(((((()()))(()))))(()())()(()(()(()))))(()((()())(()((((((()))(()(())(()(((((())())(((((()()(()))()))(()((((())))()))())(((())(()((()())))((())(()((((()()(())))(()())()()()))()()((()(()(())((())))()((((())))(())((()())()))(((()))(()(()()))(()()((())()))((())()(()()))())()(((()())))(()))())(()))(((())))((()(((())))())))()))(())((((()()()(()))(())))))(())))())))()()(()())(((((())((((())))())())))()((())()(()()())())(((())))(((((())())((()())(())()()(())(()))))))()())()()(())))())(()())))()((((((()())))))))))))()())()(())()())((()))())(()()()(((((()(()()((((((()(((())(()((())()))))(()()()))((())())(())))(())()())()(()(()(()(())())((()((())((()))(((()))(((())()(())((())))(()())(()(()())()(()()())(())((())((()()()))()(()))))((()((())()(()))))))))()())())))())(()(((((((()((((())()(((()((((()(()()))()()())((((()(()()()(()()))()))()())(())(((()()(((())))(()(((()())(((()(((()(()((())())())()(((()(()()(((((())(((()))))(()))(())()))()(()())))()())(((((((()))(())((((()))())()(((())()(((()(()(((()(())())))(()())(()((())((()()()())())()(()()))))((())))((()(()()(()()(()))()())))(())())()()(((()((()()(()))((((())()()(()())()())(((())(((()(()))))))))))())))())())())()))(())()())))())))))((())((()))()())((()()))()))(())))())))()(()())(()((()(()()()))()))(())(()(()((())(()()(()())(()())()()(((((()()(()((()((()())((())))()(()(((((()(()((((((())))))()()()())))((()))())((()()))()((()))((())(()))())((()())((((()))(())))((()))(())(((()(()(()))()(()())()))()()(()()(()()()(()))()(())(((())))(()())()))()()()()(()(()()))())((((()(()(()(()))))))()()()(((())()()()())))))))(((((())))))))())()))))()()((()(()((()(())(()))()))))(((())())))(()(())())()(()()))))(()())(())(((()))))())()()))()(()))(())))(()())))()))()()))()))())))((((((())))()(()()(()())(()(((()()()(()())(()())()))))))()(())())(()()))(()()))()()())))()()((())()(()(((())))(())())))()()())()))()((((()(())()()((())(((((())(()()(((())()())))((()()(())(())(())())())()(())))))()))))(((((()))))()())())((()()()()))))))((()((((((((()(())())((()(()(((()((()()((()(()((()()()(())))()(()))()(())((()())(()(((())(()))((())()())())(((()()(()))(())))()(())((()((())()((()(())()()(((()(()(())(()())((()))())()())(())((())))(()))()()(())())()()()((((()()))((()()((((()))(((())())(()()((())()()()(()(())())())(())()))(())(()()))(())(()))(((()(()()(())()))(())(()()(((((()())())(()))())())()(()))((())((()()()()()())()()))()))()))())))((()(()(())()((((()((((()())(()))()))))((())((()))))(((()(((((()())(()(()()(((())())())(((()()))()))))))((()(()((()(())()()(((()())(()))()()()))((((())))(()(()))(()()()())(((()()))(()(()))))()()()(())()()())())(()(((()))(())))()))((())()()(()()())(()))(((((((()))()()()()((()()(((()((()))))((((()))()))))()((((())((())()()()((()((()(()))))()(()(((()(())((()(()()))()))()()())(())((((()))()))(()((((())(()(((())))((((())(()(()(()(())()())()))()((()))))()()(()))()()((()((()(()())))(())))(((()()()))((())()(()))()())(())()))(())(()(()))(())())((()()((()()(()(((())()(((()(((())(((()))())())(((()))(())))))(()()((())()()())(())())(())())(()))())()()(()(()(()))((()())())()))))()()((()))(((()())())))))()((()()())(()())))()((()((()(((()(()((()))()()))(())((()()))((()()((((()))()))(()())))((()())))()))))()()())()())((()()))))())()(()(()((((((())())()))(())()(((())(())()())(((())()()))((())((()((((()))()(()()(()(())(())())())(())((((()(())()()())))())))(((()())()))))))(())())()()()))()(())()))))))((()())()))()))))))())))((()((()((((()((()))()))())()()(())((()())()(()(()((((()()(()(()())))()())()(((()(())(()()(()))()())))()())((()))((((((((()))())())()))())(()())))(((())())))())(()()()((((()()()))())))(((()))((()))())()))(())))((((()((())))())()(())()())(((()()))))))(()()))))))(()(()(((())((())(()())))(()(()())()())))))(()()(((((()()))))))))))(((((())()(()))()(()())(((()()()(()())))()))((()((())(())(()()()(((()((())(()))(((()(())(((()()))(((((()())))((((()(())())(((()(())))))(()(()(())))(((())))()())()())()(()(()()((())))))()(()))((())(()()()(()()((()(()()))()))))(())()((((())(())((()(()))))()((()()))(()))))))(()(()(()))()())()((())(((()))(((()((()()(())(())(()))()((()())()))()((()))((()())()(()(()))))()())()()((((())(()(()))(()))())()(())()()((())()))()()))((()()(((((()(()(((())()(()(())(((()())())()())(((())()(())))))())(()()))()())(((()))())))((((()()))((()((()(()())((()(()(((())))(()()(())())())))))()((())(())(()())(())())(())((()))(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(()(()((()((()(()()()((()(()(()(((())((((())))))))(())()()((()))(((()()(())(((())))))((()()()((((((()))())()))))()()))))((((()()))((()()())(((((())()()(()()((())(())((()))()()()))))((())(()(()(()()(()(((((())(((((((()(((()()((())()(()())(())))()))()((())())(()(((()))(())))((((()(()(())()(((())))()))((()())))()()((()))))(()))))(()))((((())(((())))(())())))(())()(()))(()()()()(((())((()((()))((((()))))())(((())))(((((()()())())((()()()()(((()))((())))()()))()((())(((()((((())))(()(()(((())((()(()((((()()()(()(()()))(((((()((())()(()((((()()()))()()()))()()()(((()))))(((()())))())((((()())(())())()()))(()()()(()()())))(()))())((()))))))((((()((())))()())(()(()))()())))((()((()(())()()(()()()))))((()()(())()()())))())()())()))()()))((((()))((())())))()(((()())(((()(()()))()))(((()))((((())((((()((()((((())())()()((()))))()(())()((()((())))((()(()())())(())(())()))))(())))((((((())(((()()())())((((())))(((())()())(()((()()())))((()))()())((()())(()(((()))(((()((((((())((())))))(()(())))(())))()()))((()((((((()(())))))))))))))()))))))((()))))))))((((()))()((())))(()()))))((()()()())()())))()()))))))))()(((((((()(((())(((())))))()((())))(()()()())()(())))()(())))()()(())((()(((()(()((((()((()()()())(())((((((())(()((()(()(()(())()))))(()()())(()()(()()()((()(()()()()(()))(((())))((())()))()())())(())()()(()(()((((((()(()))((()()(())))))())()((()()((())))())))())()))((()()(((()(((())()()((()(())(())()()))())()()((())()((())()))(()((((((((()()()(((())(((()((())))))(()(()))()())()))()()(())))))()((()()()(()(()))((()))(())))()))(())))))))()()(((()(()(((((())(()))(()((((()(()))()(()))(()))())(()()())(()))(())(()))))))())))()((()()())))(((()())((()))())))()))(()()((()())()()()(()))))((()())(()((())()(())())()))((())(())()))()()(()()))())((())))(()()((())(())())))))((()()())((()())(()(((((())()))))()))())()())()()(())()())))((()))(((()))()((())))((()()()(())()(((((((()(()((()))()))(()((()))())))(())())))(()))))))))((()()()())(()((())((()(())())()())((((((())())((((())()()((()))))))()))))(()()((()))())))()())()(((()()(())(())()))((()())((((((()(()((())(((()()))))))()()((()())()()))))))))))(()(()())))()())()))))))((()(()()(())(()()))()()()((((()()()((((())))())(((((((()((((()))((())())))((())(()()))(()))(((()()())))((())(((((()()())()))()((())(((())((())(()(((((()(())()((((()))())))(())))(())(((()((()())()()(((()(())())((()))((())))(()()))())())((()()))()()))((()())))(()()))))())((()()(()())())))(()))((()())))())(()))(((((((((((())()()(((()))(((((()))(()()(()((())()((()(()(((()()()))))()))()()(()(()()(())()()(((())((()((())())())()()((((())())))))()())()))(((())((())()((()())(())((()())())()())(((()(((()))()))()((()()((((()))))))((())))())()(())(())())()((((()(((()))))()(()(()()())()(()(((((((()))))))(()(((()()((())()))((((()()))()))))((()))(()(()((()(())((()))())()((())(((())()(((()((((((((()()()))((()(())())()(()((()))((())())()(()))))))))(((())))))()((((()(()))))((()())((()))()))(((((())())()()(()(()((()((()()(()(())()()())))))(()))()))((())())(())((()((())))()))))((())(()()((()())(())))))))()()())(()(()((()))()((())(())()()())((((())(()))())(()()(())(((()))))((())((()))()(((())(())(()()()()())(()()))()((())((()))()())())(((())())()))()(()(())()))(((((()))((((()))()))))))(()(()()())()((()((())))()(()((()))())()(())())()((()))()))()((())((()(((())()()()((()))())((()()()))(()())(()))(()(((()()))(()))(((()()((()))()(((()()))()()))(()()()))))))()))()()))())()(()())))))()()))))(())))))()))((())()()()())((()(())((())(())())())(())))((()()()))(()((())())()(()()())((((((()()((()())()(((()()(((((((((())())(()()((()())()()((()(()()))(()))(()()(()())())))((()())()()))())()(()(()((((()())())))(()((())((())((((()((()())()()()(())()))))()(()()(((()(((((((()((()())))((())())()(())(()))(())))())()((())(((()()((()()()())))((()))(()()(())(()))())()))(())()(()))()())(()((()((())((())()))()()()(()())()))())))()())(()(()))(())(()(()()(()))((((((()(())))((()(())()()))))))())()())(()))(()()(()))())((())()()()))))(())()))))((()((()())()()()())())(()()(((()))())))))))()()(())()())))(()())((()()(()((((()()())((((((()(()(()())())))()())()()()()((((()(()))(((((())))()))))))((((()())((()))))(((()()()))))))))(((()()))())))))(()()()))()))))()())())((()()(((())((()))((()))))())))(()())(((((()(((()))(()(((((((((((()(((())((())())((((()())()())()())()))(()((((()))())))())())))())(())())(((((())))(())(()))()((()(())()((())))()()))(())()))(())()()))())()(((()((()((((()(((())))())((()(()(((((())))))(()(((()()(()))(()))())(()())))()))))))()(((()()()))((((())(()((())()(((()()((((()))())(()))()((()())(()()))(((())())()())())))()()())(((()()((()()((())((()))(((((((())()))))))())))()(((((())())))(()(()()))()))))(()())))()((())(())(()))(()()()(((((()))(())()(((((()()))((()()((())())))((((()((())))()))))))((((())((()((()()())((((())))))))((())(()())))(()()((())()()((((())()))()())))())())))(((()(()(()(((()(()(((()(((()((())())((()((())))))))))()))))(())))()()(((((()())())(()()())(()))))(((((())))())(()()()))(()(()))())((()(()()()))())(()((((((()())()))()()))()(())((())((())())())(((()((()))(()(()))()()()))))(())((()(()(())((())())((((((())()())())()((()(((()()((()(())((()(()()(()())(())))()()()()(()))((())))())))()((()()())()((())()()((((((()))))())())))()((()()(()(())((())())))()))()()()))()())))(()))(()((()))(((()())()(()(())()()))()))))))()())))((())))))(())(())()))))))()(()))(()(()())))((())(()(())()(()((((()))((())((((()))))))()()(()()(()))(()(((()()())((())((())((()(()))))((()((()(((()())((()))()(((()))())()((())(()(()()()(()(((((()))))())(())(((()(())(()()()()(()))(()()(()))(()()))))((((())))()((()))(()())(()())()))(()()))(())))(())(())()))()()()((((())()))((((())(()()()(()((((())))()())))(()(()))()))))))))())()))(())()()))))))(()()())()())))())))(()((()()((()))(()(())()()(()))(()()()()())))(((()(())()((()))()(())())))))())())()(()())()()))(((()(()((()()(((((()(())()(())()))))()((()(())()()()((((()(()((()())()))))()))))()((())()))))()())))))()))))()(()))((())((()))()((((()((((())()((()()()()())(()()())())()))))())(((()))))())(()))(()()())))()())((()(((()(())))(()(((((()((())()()(((()(((())((()()(((()()(()(((())))((()((((((((((()(()()))()()))()()()())())(((((((()))(()))((()((()()(((()()((()())()((())())()((())(())(((())))))))(((((((()()))()((())()(()((()())))))()(((((()(()))))(((((()())()(()))((())))(()((((())()))))(()))())(()()((())))))())((())))()(((((())((((())))(((())())((((()()))))))))(()))())((()()())()))))))()((()))()(()))((()()(()(()((())()))))()))((())())))())))()))()()((())(()()(((()))()()(()((()()))))(())((()(())((()(())()(())()((()()(()())()((())(()((()()(()))(((()())(()())((()))()(()(()(((((()()(((())))()))()((()(()))))()(())))))())()))))(((()(()(()())))()())(()())()(()((()()(()())(()()()()((())())((())()))((())))()((()()((())()()(((()()())))()))()())(()(((()()())()(((((()))))(((())))(()((())()())))(())())))()()())()())(()))((()(((())((()())()()(((()()))(()()()()(()((()))())())(()(()(())))()((()(())))()))))))(()(()(()))(()(())()((()())()))()))(())()(((())((()))()())())))((()(()()(((((()(()()(((()())()()))((()()())(())()))())()))()))(())()))(()()())))())())()((())))))(()))((()()()(())))))))(())((((())))))())(((((()()()(()((()((()(()((((()(((()))((())()((())))())((()(())((((()()(())(()())(()()((()((()()((()())(()())()())))))(((((())()()((((((()((())))(()()())()))(())()))))))(()()(())()(()))()(((((())(()(()()())()())())())(())(()((())())))))(()(()()(()))))()((()))((())(())()(())())()())()))()(())((()))((()((()(())(()((())((())(())))(((()()()))(()((((((((((()))(((()))(()((())))()((())()(((()))()())((((()))(()()())))()()))(()((((((((((()(()(((())(()(()((((()())))((((())))))()))(()(())((())(()()))))()())((()()()())()()()))()))())))()(())(()(()(())(((())()((())()())((()(())))()(((()()(())()())(())))(((())))))))))())()()()()((())()(()))((())()()())(((()()())(((())(((((((())((()))())(((()((((((((())))()((((()))()(())))())((((()())(()(((((()())((())())(())))))()))()()()()(()))))(((((((((((((()))()()()()()()()(()((()()))(()))(((()(())()(((()()(((()(()((((())()()))(()(()))(()))(()))(()()()())())()))()(((()(()))()((()))))))()()))(((()()((())))())))())((((()(((()()()))())()(((()())()(()()))())))(()()(())))((()()())()()))((()(()()((((())()))((()()()())(((((()))(()(()(((()(((())(()()((()))()(())(()((())(()(()))()()(()))((((())())))(()(())())))))))()((())(((()))))(((())((()))((())()))(()()))))()(()()))((())))(()(((((()()()((()()((((((()))(((()()((()((((()(((())())()((()))((()()())((())))(())))())()(()())(()((((())((()(()(()()()()(())))))))())()())(()()())((()(()())(()()(()(())))())()(()()(((()())()()))())()()()(((()))(((())((())))(()))))()()((()()()((()))))))(()(())()((()(())((()((()((()()()(()))))(())()(((()))(()))((()())()((((((())((()())())))(()((())(()))())()()()())(((((())()())))))(()()()(()())(()(()())()())(())()()()()()((()()(()))))()))))(()()())(()(())())((()()((())((())))()())))())))))())()())))()()))()(())(()))))())))()()((((((()((()())((())()(())))()))))((((()()(()))()))()(()()((()))))()())((((()()))()()))())()())()(((())(())()()))())))((((())())))(())()))))(()(()()))(()))((((()(()))(())))())()))()()))()()(()())((()())((())))())(()(((()((((())(()(())())(()(()()))())))()(((((()()((())()()())()(()))((((()((())))))))(())((((()(()))())()())()))()())(())()()()(()(()())((((((()(()))((())(())(()(()()()))(())()()())))())))(()())))()()())()))(((()))()()))))()))(())))(())(()(())()(())))(()((()))()()()()))))))()))()))(())((()))))(()(()()(())))))()((()))))))((((())))(((()(()()((()())))(()(())(()())()))())()))())(()())((())))(((((())(()))())()()(()))((()())())))))()(())))()(((((()()()(()()())((()((((()))))()())))()()))))((())()(((()()()))()))(())())())))(())((((()((())())()(((()))()((()((())())())(((()(()(()(((()))))))((((()((((()))(()))())()((())()())(((()(())()((()(())))((())()(()(()))()()()))()()()())(()()((())())()()(()((()()()((((()((()(()))(())((((()))))()))((()()))()))(()(()((((((()(()(((()()))))((()()())(())(()))()(()(()()())()())())(()(()))()()))(()))))(())))(((()((())()(()))()()))())((())))()()()(()(()()))()))))(((((()(())((((())())()()((()()()(()()(()()()()()((())()(())(()()())()(((()()(())((((((()())()()()(((())(())(()()(((()))))()()(())))))))(((()))()((()(((((()(()(()))))(((((()(()()()())()()(()((()(())))))))(())()()())())))))(()((()))))(()()()()()()))()(()(()((()))()))))(()()((())(()))(())((()())()))(((())(()())((())))(()(())()))())())()))()())())))((())((())(()(()))()()(()(()())))()(())())((())))))()()())()(())()))(()(()))((())(()((((()))(((())((((()())(()))()((((())((((()(((())(()))()()(())()()))(()(((()()((()))()((())())))())))()()())((()(())(())))()))))))))(())(())())))))))))((((())()()))(()()))))(((())(()())(((())))()(((()))(((())())(())()()(((())((((())())(()(())())((((((((()())(()))))))))()))()))(((()(())()))))())()))))())((()(())((())(())()))()())(()())))))()))((()((((((()))((())((()()(())())))()()((((()(())))((((()))((((())))())(())))(()))(()(()((()())()))(())()))(())))(()()())())(()())()()((()()(((())((()()()((()()))(()(((())(()())((((((((())())))((()(()))())(((((())(()))(()()))())(())((()(())((()))))()())()()())())()()((())((()))()))())())(()()(()))))(((((()())())))))()))))))())(())))))))()())()())((()()())()(()((((((()))((())())()()))())()())()))(()(()))))(((()(())()))()))((()(())(())((())()))())))(())()(((()))))(())()))))((()())(((()(()))))()()((()((((()))(()(())))((()(((())()))))(()()(())()(()())())((()()))))())((())((()(()))))))()())((())()()))((((()())()()(())())((())(()())())))))()))((())()())()))(()((())(((()))())((()((()((((()()(((()()((((()(()()()(()()((())(()))(()((()()(()))))((()((())))))((()())()()(()))(())())()(()))(((()()()(((((((((()()))()()((())(()))())((()))()))()()))(((())()(()))(())()(())))((((())(((())())))())()())))(()))())()())()()(())((())())(()(((())(()))())((()))(())())))(()()((())()))((((())))())))()(((())))((())()((())))(()(())())()((())((())()(()))(((((())))(())))((())((())(((()(()()()))())))()(((()()((()())))()(()()))()()(((()())(()((()))((()())(((())(())))())()())))(()))))(()()(())())()))))))(()()()()())(())))()))())(()()((()()())(((((((((())(())((((())())()(()((()(())()))(()((()))(((()()(()((()))((((()())())((((()())(((()()(())()())(()))(((((())()()))()())())())(()))()(((()()(())((((())(()))()))))(()((((())))((())((())((()()((((()()())()())))())()(((()(()()()))()(()(()))()(((((()(()))((((()(()))()))(((((()())(())())))((())(((())))())()(()))()()(()(())))((((()()((())))(((())()(())()((())))((()(((()))((()((((()(((()(((((())())()))))(())((())((()((((())(())))()()(((()()))))(()(())()())))))))(((()(()))())((())))))())()()()(((()()()()())))()()()(((())))(()(((()()(())()((()()()()()(())(((()())()())())(()))()))))(()(((())()((()(()(()((((()))(())))))()))(())(()))())((())()()((()((((()(())((())(()))())))()(()()(((()(()(((()())(())(()(()((()((((()((((()))((((()(()))()))()()((())()))))))(()))((()(()((()()()()())(()))()))))((()())((((()())())())))(())(())))()))))())))))))(()())()))((()()()())()(())()((()))(())((())())))(()())()))()(()(())))))))())((()))()((((()()((((()()(()))()()()()(()()(()((()))()))()(((()(())(()(()(()))((((((((()(()))))()()))))())()(()(())())((((()())))(()()(()(()))(((()(()(((()(())())))())(()((())((())())))))))(()(()))(()))))()((()(())())(())))((((()(())((()((()))))(()())()())(()(()))))(())()())())))()())((()())(()))(()))))()((()))(()(()(((()))(()))))())())))()))))(()))))()(((()))(((())))())()(()))(())((((()))))(()()))))(()((())(()((())(()()()())()(()()))(()(((())(()()()(())))()))(())(())(((())))()))())()())((((((()()((((((()()))((()(())()(()()((()))()()()((())))()(()((())()()))(()((()())())))(())(()(()((()((())))(()(())((()((()))((()((()()((())())))))())())(())()((((()))(()))(()((((()))(((()(()(((())(((()()()()())(()))(()(()))())()(())()))()))()((())(((())))(((((())()()()()()()(())(())(((((((()())))((())(()(()(()))()()()())())()())((()())))(((((()))(())()(((((()(())()()(((()()))()())(())()())(((())()(())((()))))())(()))))())())(()()())((()(()(((())())()()()))))(()))())((((())(()()()))(((()(((())((())()(()(()(()()))((())))))))(())(()((()))(()())))))(()()()()((()))((())()()))()((((()(((()))(()))()())()((()(()())(((())))(())())))(((()((())(()()(()(()))((())()((()))())()()(())()(((()((((()())())))()((())())())(()(()))()())((()()())(())))(())()()((()((((())()()(()()()()))))())(()()()(()()(()())())(())())))(())(((())())))()())))))(()))(((()))))(())(()(()()()(()))()((((())))())()())((((()()()()))(()()())()()(()()()(()(()))))()()(()())())(((()(()())()()()()(((())))))(())()))(((((()((()())()))())())()(())))())((()()(((((())((()()()(()()(()))(()))))))()))((((())))))(()()))(((((())()((()()))))))((())((()((()()))()))())()(((((()((())()(()()(()()())()))))))((()()))(()))((()()())))((((((()((()()))(())())(())())()()()())(((()())()()())()(()(()(((()((()(()()))()(()(())(())()()(()))(()))(((())))((())()()))))(()((()()(())))(((())(()))((()(((())()()(()))(((()))((()(())((())(((()()(()(()((((())(())))((()(((((()((()(())())(()))))(((((((()((()()((())()))())))())()((()))()))()()())))))(()()(()(()())))())()))()))(((()()(()((())())()())()))())(()))())())())(((())()))(())))(())))))))(()(()()(((()()(((()((()((()())))()()()(()()(()())))()))(()((()()())((((()())))(())(()()))))(()))))(()()()(()())(()(())))()))))((()()))()))())())((()((())))))()))(()()()())(())(())()))((())()(()))((()()(()))()(())()()())(()()(())))()(()(()(((())))))()(()(()))))(()))((((()((()(())()())(()()(()(((())((())))))(())()()(())(()()(((()((()))(()())(()())(()())())()())))))))(()((((()(()(()(()))))))()(()))())))))))((((())()(()))(())))((((((())))(()())()))))(())())))()))(()((())(())())(()))()))))))((()(((())(((()())(()((()((()(()()()()((((()()(((()))())(())())())))())((()()()))()((())()))())())()()(()))()(())())())()()(()))()))()(())()(()))()())(()(()()()))()(()()))))())(((())))())()()))((()))))()())())((((()(()(())())()(()((()((()))()()))(()(())(((()()()())(((((())((()()()))(((()((()((()(()())))((()((()())(()))(()()))(((())((()(()))()()(()))(()())()()))()))()()()(()))()))))(((()()()))())())(((((())))()))()())((())(((((((()()()())()(()()()(())()()())))))()()((()()((())()((()))(((((((())))))))(())(()))()))()()))(((()(()((()))((())))()())(()((()(()()(())(()())))))))()(((())(()))()(()()()()()(()())))(()(()((((()((()))(((()(())()))())()(()((())()((()(()())))((()))()))()()(()((())))()()(()(()()(()))(()(())))((()()()((()(()((()))()((()(((())()()()(()()(()))((())((()(((()((())))()())()))((())))(((()((((()())(((((()((((()))((())(()(())()((((()()(())(((())))()(()(())))))))(()))))())((()()))()))()))))()((())(((((())))(()(()()()((())))))))(()()(())))))(((((((()())()(((()())))()(()((()())))()()))())(())))()()())(()((())))(())(((((((())()))))))))((()))))))))((()(()((())())()()(()))()())())()(())()()))((()((())))))((()((())((()(())())())()())))())((())()))))())(())(()()(())))()((((()))((()))())((((()()(((()((()())()())())))()(((()((()))()))))()()(()(()()()((()((((()(((())(()((()))()(()((()())(((()()))))))))))))()()(()())()()()())()))()()(((())(())())))((((())((((()))))))())())())()()()())())()(()(())()()))((())())(()))))()()))()())()))((())(()(())()(())(()())())(()(()((((()()()((())(())(()()))())))(()()))()((()(())(((()(()))(()(()()(())))())(())(()(((()))())())))()((())))())(()())(())()))()(()((()((()))())()(()(()))()((())((()(()))()(()))))(())))())((()((((()()()((((())))()()())((())(())())(()))(((((()))()))))))(()(()))())()))()())))())))()(()()()()))())()((())())()(())((())(((((((()))()))(())())))(((((()()(((((()))())(()()(()(((())))))(())))()()()(()))))))())()())))(()))()))))())()()(())(()(()))((())())(()))(((()())()))())()())))))()()())))(())(())())((()(()))()((()))(()()(()()))))())()())())(())))((()()()))(())())())))))()))(())())()())())))(()()))()((((()))(())()))(())))))))(())()()()())))(())))()(())))()))(())()(()(())(())))))())())(((((()())(()(()()(()((()((()(((((()(()()))(((((()()()())(()(()))()))((()()(()((()())(())))((((()(()((()()()))())(()(()))())))))))()())())(((()(((()))))(()))))())(()(()())()(()(()()(()((()()())()()(())((())()(((())((()))(()(()(())))(()(((()()(()))))((())))(()))()(()()))((((((()(()()))))()))())())()((((()((()(()()(()(())(()())(())()(())(()()(()())(()(((())))()((((((()(()()((()()()))(()())()))))(()()()(()())()()(()(())()))())(())))))))(()((()(())(()(())()))))))))())()()(())())((()()((((())(())((()))((()(())()(())))((()()(((()((())()(((((())((()(())()(()(()()()))(()))()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

()()()(()())(()())((()))()()(())()((((()()()(()())))(()(()((()()))))()((())(((((((()((((((()))())((((()))(()()((()()))())()(((()))(((((()))((((()()((()((()(()(()()()(())(())())())))(())(()(())()((())()))(((())((()(()()((((((())(()()()))))((())())())((((())(()((())((())(())((()))(((()((()(())()(())()()((()())()))()()(((()((()()))())())(()()(()(()((()(()()()(()))()))()())())((((()))()((()()(()(((())((()(((((())((())))(())))()(()))(()())(((())(()((()(()()))))(())())(()()()))((()(((()())))()(()((())(((()())())((()()()((()))())()((((())())(())))))()(())(())()()))())()((((((()(()))((()()(()()))())()()((()(((())))())))))))(())))()))()((((()))))()))()(()(()))(((()((((((()())((()(((()((()(()))()(()()())(())(())((())()()((((()))))()))))))())))((((()))))()))(())))())))(()())()))(()(()())()())()(((()())((()()))(()((()))))((())()))))(()()(()((((()(()((()((())(()))))((()()(((((()(()()()))(()(()((((((((())()))))())()((())())))))()()())))()(((()())()((((()((())))(())((()()))(())())))()(((()()(()(((((((()((())())())(((()()(()(()))()()(((())())())(()())()()))))()()(()()(((()())))()(())))))))))())((()()(()()(()))))()()))))((((((()()))(()())(((((())())()))()()())(())((())()(()(())(())(()()()((((((()((()))((())))()(((())))()(()((()()))((())()()()()())()))))()(())()())(()((())()(()())))())))(())))()()))(())()((((()()(())))()())())(()))))()))())(()))()((()))()()))(((())))))))))()))(((()()(()(((()()())))(())))()(())()())()))((()))()((()(())(()))()())()(()(()(((())()))())())())()((())))(()))()()()))((()))()((()))())))(()(((((())((()(())((((())()())(()(()()(((()))(())()(()(()(())((())(())))()()())))((())(((())()()))()((())()())())))))))())())(()))())))())))((()()()()))))))((()(()()(())())(()))()())()(()((((())))))()))(()(())()()())))()))())(()()(()()()())))((()((())))())(()(()))())((((()))()(())((((()(())())(((()()()()())(()(())))(((()((()))())()))((())())(()((()(())())(()()(((()))()()()()((((()())(()())(()((((()((())))(())))((()())))())()())))((()())()))))(((())))))((()((((((()((()())((()))))))())()()(()))())((())()((((())(())()()())))(()(((()())()))))(()))(())()(()())()())((()))(((()()(())(()((()()()(((()((())((()))()(())((()((((((((())))()((()((()()()))((((())))((()())()()(((()))))()(()))())))())()(()))(()()(())(()())())()))())(())())()))()())((()())(()(((()(()())))))((()))()()(()))()((())))()(()((()))))((())()))())))(()(()(())))))((((()((()()(((())())()))()((((()((()(()(())))))(())())()(()))(()())()()())((())))(())((((()())))(())))()())())))()((())))))))())))))(()()(())((((()())((()(())))((())((())(()()())()((()()(()((()()((())()())))())))(()(((())))(())))()((()())(((())()(()))()())((((()()()())(((()(((())()(()(()(()(())(())((()))(()((()((()())(((((()((()(()(()()(()()((()()(()(())((()()))))())(())))())()())))())()())))(((()()()))))))())(((())()(()()))(((())))(((()(()((()())()(()()((()())(((()(((()()(())()((())()))))(((()))(()())(((((()()((()()))(())))))((())(()(())())()()()()()()(((())())))()((())))))))()((())(()())))())(()))))())()))((()(())))((((()())(())(()(()((()()(()()())()(()(((((())()()()))((())(())()(()())))(())()((()))()(())))))()))()((()(((()()))))(())))((())))())(())()()(()(()))((()()())()((()))()))()())()))))())))))()))))()))()((()())((((())))())()()))(())()(())(((((()()(()()(()())()(()()()()())()()(()))))(((((())())))))()()))()(((((())(()()(())(()(()((()()))()()()()()()(()((()()()(()((()()())())((()(())()))))))))))()(()))(())()()))()()()()()()(()())()()(())()(())((()(())(((())())())))()(((((()((())((()(())()))(())))()(()()(())()))(()(()()(())(()))))()())()()()((()(((()()))()()))((()((((()))))()(()(()()))())(()()))()))((())(()))()()()((()()(()))())()()(((()(((())()(()(()(()((((()(()())))()()()()(((()))()()()()))(())(()(())(((())))(()(())))(())))(())))((())))()(()((((((()())(()()(((())))((())(((())()((((()()(()))))())))())))())()((()(())()(()())(())((((())))(()()()())))))()))))())))()(())()(()(((()))()(((((((()))())())((((((()((()()))())(()))((()()((())()(())()()(((()()))))((()(())(())))())()))))))()))(((())())(()))))()(())()()(()(()((()()()))))()()()(())((()))()()(())()()()()()((())((((()))()))(()))(()()())(()(()(())()(()(()(((())()()(()()())(())((((()(()()()()((())((()(()()(()))())((()()())())())(())((()()())(((()())())(((())((()))()(((((()()(())(()(())()())))())))(()((())()((()))(()(()()))((((()()()())))()))))))(((()((()(((())()))((()(()())(()())()())())((((()()())(())()()))()))))())()()()()()))))))((()()))((((())))())(()(()(()()((())))()()())((((())()()()()))(()))()()()(()()(()(()())(()(())((()(()(())))()()(())))))()(()()(()))()(()()))(((()))())()(()(()((()()())(()(())()(()(()()())))())))(()))()(()()(()()))(()))()()))()(())(()))((()(()(())()()())(())))(((()))(()))((())()))))()()(()((())(()()))()())()(())(()(()()())()(()(()()))(((((()((()()(()(((()())((()(()()))(())(()())()())())())())()))))))))()(()()()())(()(())())((((())(())())))()(((()())))()()()((())())(())((())(()))(((((((((()()(())())(())))((()(())())))())(((())(()(())((((((()()))(((())((((())()))(((((((()(((())())))(()))(())(())))()()))()()())))))((())())())())))())((()())(())(()(()()(()())))()(())((((((((()))))()))((())))()(()(()))())(()()()))((()()())))(())()(()()(())((()(())()())(())(()()(()((())(((())(()()((()))))()()))(())((()((((((((()(()))(((())())((()(((())((()((((())()))(())()))())))))))()()()(())))(()((()))))()(())(()(())))()((()))))(())(()()()()()(()()()(()(())()))((((())()))(((())(()))())))())))(()))))))))()()()()()()()()(())(())(())(()()((())))(((()())))((())()()())(((()())))(()())((())(()))((())(()))()(())()(())()(())()(()())()(((()()(())()()))(()()((()()))))(()()()())((())((())))()()()(()()(()())())(())()((((())())(())(()(((()()(()()))(((()()))))()()()))()()())(((()((()))))()))((((())(())(((()((((()))(((((((())(()))(())(()(()())()(())()()()(())())()(()(())))))())(((()()))()())(())))()()()))(())()))(()())()))())()()((()()(()))())((()()()())(((()((()))))))((()))((((())))()(()()()()())(((()())(()(((((((())))())))))()(((())(((()()((((())))(()))())())(())())((()))))))()(()()())((((()(())()())))()((()()))()()(()((()())))()(())())())(())()()()()()(())()(((())()(()(()())))())((()())(())((((()()))((()(()((()())((()(((((((()(())()()()()((()((()((((()((()))(((((()))))(()(()((()))(()(((()()(())))(()))))())(())))))(())))))))()()))(()(((((())()())()((()))())()())))())(((())())((())(((()))))(()((((((())()(()))((()((()))()))())((()()((((()()()(()())(()((()()()((()))()))()((()))))((()()))(())())()))())(()()(((((())))(((()(())(((()((()((()))()))(()())()()(((()(())()())(())())((((((()(())(()()())())))())(()))())(())(()(()())(())()()(((((((((((()(()(((())()((()()(()))))(((()(())))())(())((((((((()((())((()()())())())(()(()))))()))))(())()((()(()(((()()((()()()))))((())((())()((())))()((()()()()(()))(()())()((()(()()((())()((((()()))))))))()()((())()(()()))))()(((((()()(())(())(()())(((())())(()())(()()))())())))()())()((((()((((())())(())))))())))(())))())())))()())))()(((())))()()))()))(()(()(())))(())())())((()((((()()()())))))))()()(()))()()))))()))()(()()))(()(()))(())))))))))))((()((())(()()(()))()))()((()()(())))())(()((())))(())))((((()()((()(())()))))(()))((()()))(()()(())()(()))(())((((()()()(()()))(()(((()))()(())())))(((((()()(((((()(()()()())())()(())()()())))))))())((((())(()))(())(()()()))(()))((()((()((()())()(())((((())())))()))((()()))()()()())))()(((((()))((((()(()(()())))))())())))()))()(()())()(()(())))(()()(()((())((()()())(((()))()()()))())()()(((()()))))())))))())(()))((()()()(())(((((())(())))()(()(()()(((()))()())()(())))(((())(()()())()(((((()(()()))(()))))()(((()()))())()()()()())))()(((((()))((((()))))())(((()))(()())))((()()))()()))(((((())(())))(()(((())))(()((())()))(((()((()((((())))()))((())())()()))()((()))(()()()()(((())(((())()()))(())(((())()))()(((())((()))()))))())())(((())(()()())))()()()((())()((((((()(())())))(()()((()()())(())(((((((()()(()())))())(())))()(()()())))()())())(((((()())(())(((())())))()())()(((()())))(()(())())((()(()))())))(())))(()(((()((((()(())()()))())(((((()(())(())())(()(())()))())()((()((()()())))()))((())(()()(()(())(((((())(())))()((()(((()(()())()(()))))()()))))))()(()))))(()((()))(()())()()((((()())(()(()()(())))()((((()()))))(())(())(())()(()))))))))((((((((())))((()())))((()))))()()((()((())))())())()(()))((((((((())()(()(())()()))(()(()))(()(()))()())(())))))())()))()((())())))()()()((()))(()))()(())((()()(())()((()))()()(((()(())))((())((()()()))()))(()(()((())((((((()(()((()())))())()()()))()(())()))(()(()())(()(((())()()())()()()))()))(()(()(())()()))(()))(())((()))))()())(((()))())))))))))))())(((())(((((((())())())))())(()))((((()(())(()((())())()))()()((()(()(())())(()(())())(()((()((()()()((((()(()()))())()(()(((((()()()()())(((()()))(())()(())))))((()())()))()))(()(((((((()())()()(())(())((()(((()))((((())(()())))))()()))()(((()()((((())())))))))))))))))()(()())())()(((()((())(((())(())))(())(()))()())((()))())()((()())()()((()(()()((((((()(()))()()))())))(((()))())()((()())())())())((())))))(()(((()((()(()())())(())()((()))()()))))))))((()()))()((())(())))((((((()((()()()())()(())((()))))))()(()()))))())(()))))()()((()()(()(())))))))()(())(())((()()(())))((()()()(()())))()()(()(()((()()())))(()))()()(((())()(((()())))))()(()())()((((())()(())()()()()()))(()(((())))()()()))()(((()()()(())())()(()((((((((())))(()))))(()(()(()(()()()))((())())))))())))((()()(()(((())))(()((()((((((())(()(((()())()()())()(()((((((((()(((((()()((())()())()((()())())()))(())())))(()()()))())((())))(((((((()))()))((()))())()((()()((()((())(()())))))))))))(()()()(())(((())((((()((()())))(((((()()))()()((()))))))))(((()(()(())))(((()(())(()(()())(()))(())(())())((((())(())()((()(()()()(()(((()((())())(())()(((((()()()))()()())(()))))()((((((())()(()))))()(((()()()()(())()())((()())((())()(((()(()()()()))))(()))((((()((()))()))))()())))(())(())))((()()(((((()))(())))()(()))))())))))((()))))(((())(())))(((((())(((()))()))((()))))())))()())()(()))(()())))())()))))())(())((()((()))()(()((()((())))(((((()))()()(()(((()())))((())(()))()())))())()))(()(((()()((())()((())((((((()())()((()))()(()(((()()()())))(()()(()())))()((())()))())((())(())))()(()((()((())((())))()()(((()()()()())(())(()())(())()())((((()(()))((()))())())()())())()()(())()()()(()())()))))())(())()(()))()(()()()())()))()))())()()((())()(((()())()()()))()))(()(())())(()))))(())(((()()()(()())(())))))()))(((((()))(((((())()(())))(((()())()))(()(()())(((((())))()(((()()((()))()))))(()(()())()())))()))((())(()())())()))((())))()((((())))())(())))))()))()((())(((()()))))))(((())(()()())))(()())((()))()((()()(())))((())((((()()))(((((()(())()))())()))(()))))()()((((()))()((())((((())(())()((())())))()))()))(()())(((((((()())())(()((())())(()))(((((()))(((())((())())))))))((())()))((((((()()()(()(()()())((((((()()(())()()(()()()())))()))(()()())()))))))))((()((())((()))()))))(()))()(()()()())((((()())))()(()((()(((()()(())(())))))())()(()()())())()))((()()))())(())(()())()(((())())((((((())((()((())()(((()()))())()))))))))()((()((((())((()())()())()())(()()(()()())())())))()())((()))()()()((())))()()(()()(())()()(()))()()()()()()()()()()((()())(()())())()((((())()()((()(())))))()()())()()()((())(()(())()((()()(((()))))))()()()()())((((()(()()))()())((((((((()()))((((()))()))()))(())))))()))()()(())((()))()(())(()())()(())()((()))()()()()()(((())()(())))(()()())(())(())()((()))()()(())(((((())(((())((((())()()))())))))(())))(()(()))()(())((()()()()())((())))()()((()(()()))())(()(()(()())()()((((())()())())((()((())(()()(())()(()()())(()()()())()())((()(((()()))()(())(()))))(()((())((()((()()(()()()(((())()())))))(((()()))()())())))))()()))()()()(((()(())(()()))))((()())(()(())())))())(((((()()(()(((()))))()()))))))()((((()()))()()((())(()((((()))(())())()))(()))()))()()()(()(()))((()())()(()()()(()()()))()(((())(()(()())(())()(((())()()())))()))()(()))(())()((()()(((()()()))))(((())())))(())(())(()((((((((()))((((()(()(())()((()))()((())))((())()()())((())()((())())())))((()(((((())(((()))(()))(()((()(()((((()()((()())()()((()))()()()()(()()()(((()()(())((((()((())()(())()()(()))))((())(()(()())(()))()))))()(())()()))))()()()(()(())((((()()(()))))())(()()(()(())(()))(((()))()))))))()()))())())))())()()()(())()()(())((())))()))()(()(((((())))(()))(()())))(((()((()()(()((((())))))))()(((()())))((()))(()))))((((((()))())()(((())((((())(())(()()()()()()((())()((())()))()))()())()((())(((()())))(()()()))()(()))()()())))))))())())()))))(((()())((()()))(((()((()))()))))()(((()(((())(((()((()(()()())(())()()(())(())()(()()()))())(())))()()(()((()))())())((()(()))())))((()(((()())(((((()((()())())(()())))((())()))())))()())(((()()))))()())))()))()(((()())(())())()(())())()(())(()()(()())())((()(()()()(())((()()(((()))()))()()(())()()()()))())(()((((())(((()((((()(()))()()((((())()()()())()))))()())((()(()(((()())()(()((((((((())()))(())()(((()())(()(()()(()()())))))(())))(()(()((()(())()))()()()()))))))(()))))))))))))(()))((()((())()()()(()(()(()()(((())))))(((((()(((())(((())))()))((((()()()()(((()(())())((()))(())(())(()((()))()((((())))))()))))))((())(())(((())())()))())(((()()(((()((((((())()())))()(()())())())((())())))()))(()(()()))(())((((())()())())(()((()))()))))))())((()(())()))))()())()(()(()()()))())((()()(((()()))())))()()()(()((()((())))(()))()())(())))))(()())(())()(((())((((((()))))()()))(())()(())())()((((()()(((()))(((())))((()()))))()())))()()()(()))(()((()(()))()())()()())()()((())())(()((())((()()))))()()()((()()((()()())())()((())(())()(())()(((()((()(())()))()(()()()(())))))((((()(()))))))()(()))(((((()))))(())()()(())((((()(()()()()())()(()()))((()))(()()((())()((()(())(()))))(()(((((()(((()(())(()())()(()()(((()(()()((()))(()))(()((()()())())(())()(())()(())))(()))(((())())())))((()())))()()())(())((((()((()(())))(())())())))))()((()())(()())((()())()((()()((()(()((((())))((()))(()))(((())())))((()((()()))(()()((()()))())))((((()())())()((()()(())(()()(())()())))))))((()))())(())))))()((())()))(()(((()))))(((((()(())(()()))))))()())))()())))())()))((()(())())())()((()())())()(())()()(())((((()))()(()((())())((((()())))(()()()((())(((())())(())(()()))))()(()())()))))((()()))()((()))(())((()(((()))(())(()))))()(()(())())(()()()(())((((((()))((((((()((((()))()())(((())(((()((()))(()()(()()((())))())((()))(((()))(((())())((()())))())(()))())()))))))))()())()(((())))())(((()(())(((())))()())((((())(())())))((((((()()()(()))))))()()))(()()))()))))(()()()))((())((()))((())))((()()(())))()(())(((()()))()(())(()()()()())(())())()()((()))(())(((()()())))()()((())())((()))((((()))(()()(()(()(((()()(()))((())(())())(())((())((((()((()))))))((((())()(((()())()()(()())()(((((((()(()))(()(()())()((())((((((())(()))))()((()()())()))((()())()))()()))((())(()))())())())(())(())((((()(((((()(((()))(())())((())))()))(()))())))()()((()()))(()))((())))))())((()()())()))(())()())))))()((()(()(((((()())()(()))((((())(((((((())(((())(((((())(())(()()())))(()(()())((((())()()))()))()())(())())())(((()))()())(()())))()(()()))())(()((()))))))((()((((())())))(())(()()(()())))()(())((()))((((()(())((((()()()())))())((((((()())((()))))((())))(()())((())(()(())((())()))()()(())()())((()(((())(()()((()()()()(()())()))()())()(()()))((())()(()(())))))())()))))))((((()()((((()())())()()((())))()()())())(((())()()))()(((()))()(())(()(((()(()((((()(((()))))()()))(((((()(()))))))))())())((()()))())(((((((()(((()(()()()((((()((((((((((((((())(((()))()())()(()(((()((((()()))()()))())(())(()(())(((()())()(()())))())(()(()))()(())())))((())()))())()))((()))())))()()))((()())))))()()(())((()((()())())))(())()()()())))()))))(())))())())(())(())((()))((()(()(()))()())())())))()(((()()((())())())))))(()()(()))))()()))))()()()())))))))())()()((()))(((())())((((((())()))))()))()()))())(()(())((()())((()()())()((()((()()()()())))())))(())))()())()()(())))(((((()))()())))())(((()())))()((()())())(()(()(((()())))()()(())(())(()(()((()))())()())()()))()()(())(()(()())(((()()))((()()()(((()))))))((()()())))(())(()()())((((()))))()((()(((()(())))))(()()()))((()(()))())((((()))()()))()()()()()(()()(()())())((()))(()()(()))()()()()(())()()()()(())(()()())(())((()))(()()()()()()((((()(())(()))())())))()()((()))(())()()(())()()(()(()((()))))(((()())(()(()())(((()((()()((()()()()(())(()(())))(((())())(())(()()((()()()((()())(()(()())))(((()()())))))(()())(())()))()()()(())(((((()))))()())))()))())()))))()()()()()((())()())((((((())((((())))))))()(())()))()()(()())(()()((((((()()()))()(()(()()()((((())()(((())))))((()())())()))(())()((((()()((()))))(()(()()()(()()())(())()()()())(()((((((()))))(())(((((())))()(())))((())(()))(((((()()(())()))(((())))()()((((()((()))()())())())(()))(()()(())(()()((((((())())())()())((())(()()(((())(()(((())())()(((()()))()(()((()((())()((((())))(()(()((()()((()())())(()((())))))()(()))(()(()((()))(())))(()(((((((())))(()()))))(((())(((()(((()))()()())()())()()((()(()))))))(()))()((()(((()))((()))())())))))())()))))(()()((((()(())))((())))(()())((((()()()()))()))()()()()((((((()(()((())(()()())(())(())()()))(()((()()()())()((((())()())())))())()(())())((((((((((()((((()()())(()))))))()))))(()()()()))()((()))))(((()()))))))))(())(()))())()))(())))()((()(()()(())))((()()()())()()()))())))(((())()((()))((()()()((((((()))()(()))((()(()(()(()))((())))()(()()))))(()()()))()()(())((()))((((()()))())))((()))(()()))(()()))((())())))(()((())))))(()()())())))())((()(((()(()((((()()(()())())()(())))))(()(((())))())()()))()()(()()))()()()))))(((())))))(())()()(((())())(())())()))))))))())((()(())((())())((()()()))((((()((())(()())))(()))((()()))))(()))(()())(((()())()()))))(((()()))(()))()()(((()())))()()(((()())())((()((()())))(())()))()((()(())()(())(())(()(()()))()()()()()()())(()))()(())(()()())()(())()()((()))(())()()(((()())((()))()))()(((()()(())()(()(()((((())()()()))())((()((()((()(((((()(()))()())(()(((()()((()(()))()))()()(((()))()(())))())())()((((()))(()(()())(())))(()(()(())))(()())))())))())))()(((()()))()()((((()((()()(()))())()(((((((((()))()()()()())()((())))()())()((()()(()))())))()()))((())((((()())))((()))()))))()((((((()(((()(())))()(((()))()())))(()())(()()((((((((((())(()))()))))((((((()()()))))((())((())(()()()))((()()()))(()((((((()(((())))(()(())()()()()()(())())))())(()))(())()(()))(((())((())))())(()))())((()(()))(((())(()(()))))((((()(((((((()()(()))()(())(()))())(()()))))()(()))(((()()()))()((((())(()()))())())))()()))(()))(()())())(((()(()()))))())((()()))()(()())))()(()()()()(((())())(())())())()(((()()))()))(()(())))()))))()())()))(()))((()(()()(()(((()))()(((()())))(((()(((()))(()()()()(()))))()))()(()(())))()(())()()()(((())())()))()))(())((((()))((((((()())))()()()))())())())))((()())))()(()())()(()))()()())()()())(((()(((((()))())(()()()))()(()((())())()(((())()(()((()()(()))())))))())))(()))()()))((()))((()))(((((()(((()(()()((((())))()()()((())((()(()))()))))()((((((())()))))((()))(())(()))()(()))))()((()(()())()((()))()((()((())(((())()())())(((((()))(())((((()())))))))()()))()((()(()(())))()(((()(((()())((()(()))())(()((()))()()))())(()())(((((())))(()(()(()))))()))))))())()()(()))(())(()())((()()(()((()))((()(())(())()))))))()))()(())))()(()(()(()))())))((())))()(()())(((()(())(((()))))))()()(()(()())(()())((()))(()()))(())((()((()))))((((()()()()))))((())(()((())()())(()(())))((((()((((((((((()(()((((((((()))()(())()()(()((()()(()))()()))(())())())(((()(()))(((((())((()()(((()()()((((((())))(()(()(())()((()()()((())(()()())((())(())))((()(()))(((()((()))()()))()()())((()))))()))))()())((()())(((()))(()()()))))(()))))()())((((())(((((())()())(())(())()())))(()(()((()(())))((()()(()()()))()()()(()))(()))()())(()(()))))(()(())((()(()()()())((()()))()(())((((((()()((())))))(()))()))))))))()()(()))()(()(()(((((((((()))((((()())((())()))((()(())(((()))())()))(((())))))(()))))(())())()((((((())()))((((()()))))))()((()()(()))()()((()())(()))))((()()()((()))(((())))()()())((()()))()))(())())()))(()((()((((((((()))))((()))()))())()))))(())((())((((()())))()()()((((((())())(()()(()(((()(()))()()((())((()())()))())))()(()((()(()()))()))())((())))((((()))((()((()((()())(((((())())()()()((())))())())()))))))))())))())())()(()()))(((())((())(())())())))()))))))(()(((((()())))((()))))(((((((()))()))())())))((())()())(((()())(())()())())()())((()(())((()()))())()()(())()(()()(())()(()(((()))(())(()((((((((()(()((((())))))(((())())))(((()))))()()))(((((()()()(()(()())(()()))(())()()((()()))((()())(()()))(()()((())())(()(())(()(((((())(())))(()))(((((()((((()()(()((()(())()()))))()()())()()))(()()))((()()))()((((()(())((())((((()))(()(((()))()())()())()))))))))))))()(()()))())()))(()()()(((()()())()))())))()))())))))(()((((()))(((((((())((())())()()((()())()((((())())())))))()(())))))(()())(((()((()(()(())(((()()()((()(((()())()()(((()(()(())()(())))(((((())(()()((((())()))(())))((()))()(()(())))()()()(()))))())()(()())()))((()())(()(()()(((()()()))())()()))(((((())(((((()(((()((((()()))()()((()((()())(()()()))()))(())))()))()(()))))((()()(()()()()((()()()(()))((()((()))((())))())))()())(((())(((()())))())()))((()))())()())())))()((((()(())()((((((())))()))()())(()((()()))))))(((())())()(())(((()())))()))(((()((())(())())())())))())))(()())))(((()()))((()(())(((())()()())())()))(())))((((()))(()))((())(()))())()())())()(()()()(())(((()((()))()))))))(()()(((((()()()(()))()))()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()((()()((()))()())((())()()()))((((())()))(()()())))))((()((()(()(())()())((()()((()((()()))())()((()(())((((()))))()))((()()))((())(())))()((((()(()))(((()))()(()))(())()(()(())((()()))(()))))()))))()()()))()(()()))))))()(((((((())()(()(()())))()(((((()))()()()((()()())((()())())))()((((())())))))((())()(((()))))())))((()()(()())))))())))))(((((((())(()(()))()))((())(((()))((())()))(()(((()(()(()())))))(((()((()()(()())))))))()(((())()()((()))()(())()()())))(((()(()())))()))(((((())()(()((()(())()((()()(((()()()())()()))())))()(()((())((()((()())()((())()(()()))())(()))((()()()(()((())(())))(()))))(()(()((()()((((()(()(((((()())))))((()(((()))(())())(((())))))(()()((()((())()()()()())(()))())((()((())))()()((()))))))(()(((((())(((())()))())()())()())(()))(())))))(()))()))())()()((())()(((()())))(((((()()))(()())(()()))))()(((()()))))(()()((()(())(((()(((()())())((())(((())()()(((((())(((()())())))))))(())(())()))()))))()))(())((()))())()))))()(((()(()(((()()(()()))(())((()((((()(())())()()))())()()()()(()))()(((((()))((()()()())(()()(()()))()(()(()(()())((())()(())(()((())))))(((((())()((())())((()))(()))(((((())((()(((()((()())(())(((()))())()))(()()(()())(()())))(())(())()))(()))))(())()))))()))(()))()())))((((((((()))((()()((((()(())))(()))(((()(((()))(()())())(()()()))()()))(()))))((())()()((((())((((())()(((()))()))())((((())((())))(()))()()()(((((()()))))()(()()))()())(((()))))()))()((()))())((()(()()())))))(()))()(()))()()()))())())(((())(((()(((())(()))()()(()))))())(((()((((()))))((()())))((()()))()))()(()))())))()((((((()()()()((())))))(()(())(((()())))(()())())(((()()()))(()(((())))()()((()((()(((()()))())())()(()()(())(()(()))()()((((()(()(())())(()))(()))())(((((()()())()))((())())()))()(())(())()()((())))))()(((())(()())())(())))((((()((()(()()(()())))((((())(()())())(((())((((()(()(()()(()()()()(()))(()())()(()((((()))(()))())()))(()()))(())))((()()))))))()()()())((()))))()((()))((((()()))()((()))()))))(((())))()((()))((()))()(((()()()()))(()))))())()()()()))()()())()))))(()))))((())(()(()(()(()()(())()(()(()()()))()))))((((()()()()))))())((())()()((()(((()()())(((((()())()()()()(()((((()(((()((((()()())(()))(()))()))(()()()(()()))())((()()()()))(())()))(()))()))())((((((()(()(())())(()((()())()))()()))((()))((()(())()))((())))()))(())())()()((()()))())(())))((((())()(()()()()(()()()())))))()))))(()(())(())()(()()()))((())(()((()()))))(((((())))(()())()()(())()(()))(()())(())))()())()))(()))))))(()))))(())())(()()()(())))()()))()((()))))()()(()(())((((()()())))()(()()(((()))()))()(((()))))())(())))(())(()(((()(()(((()((((()))(())()))((()(()()()()))()(((()))()(()()))(()()))(()()())())(((())(((()()(()))())()))((()))()))()))()))((((()())()(())))))()))()(())((()()))))()(((()())(((())(())()))()((())((()(()(())))))))))(()(())(()(()))()(((()()()(()((()))())(())()))()()))()()()()()(()(()))(()())()()()(())()()()(())(())((((()))))(()()(()))((()()(()())))()(((()))(()()))()(()())(()())((((((())()))(()))(()())))(())()(()()(()))((()((()((())(((())))(((()))(())()(()(())()()))())(())((())())((()))()()))())())()()(((())((()()((()(()()))))((()((((()))))())((((()))))))())(()(()(())))()()()()(((()))))(()()(((()()(())((()((())))))()())))((()()))((()()())((()))()())(((()(())((((())(()))(((()(()((()(((())(()(((()()))(())))()()()(()))())(((())((()))(((()))()(()))))()()())((()()((((()(()((()()))))((())()(((((())()()((())((((())()(())))(()))()(())))()))))((()(()())(((((())))((())((()()()))())()))(()(())()))()(()()())((()((())(((()(())(()())()(((((())())(((())()(())())()(()))()))))))))()()(()(()()((((((()()()))(()())()()((())()))((((()))((((((()()(((((()))((()((()()(((()(((((()()(((((())())(()))()(()()((())((()(())()(()()((()(())((()()(()((()(()((())()((((()(()((()())()))(()))))((()((()))())))((((()))))()(((()()()((())((()((()))))()()()))))()))(((())())(()((()))))))))())))())((((())()(()))(()())(()))(()(()()(((())())))))())())))()))))))))))((()()()(()()))()))(()(())))))))()))(()))()()))()(())))))())())((())(((())())()())())())(())()))()())()(()()(((((())())(((()(((()()())(()()(()))(()())((((((()()())(())))())()(((())())())(()((()()()(((()())()))()(()))(())()())((((()()((())()(((((()))()()(()))()))))(()(()()((())))(()(()))))))(()())()(((((())))((((()(()()))(((()))()(())((()()()(()(()((())(((()(((((()))((())((()((())))))((())(()))()))(())((()((()()((()((()()))((())))())()())(((()()))()((()())()))(((((()))()())()(()))())))(())())((())((()))((()(((((()())())))()))))))()((()(()(((()(())()(()(((((())()(()()())(()()()())()((())()()()(()((((((()))(()()()))((()())(((()(())(())())(())()))((()(()((()())((()(()()(()((((())))()))()()()))()()))((()()()))(()))()))()())()))())))())()()((((())(((()()()))()())(()))())))(()()))))(()(((((()))(())((())(((()()())()())(()((((()))()()()()(()(())))()())()()(())((())((((())))()()()()()((()()))())(())())()()(())(()))()(((()()))(((((()())()())((()(()(())))))(()(((((()((((()())())()))(((())()(())()(()(())())())()(()()(()()))))(()))()()())))(()()))((()))()(()((((()())((()))(()())())()))(())))(())())(()(((())))())))())((((((()(()()((()()(()())()(((())()))()((()()))))()()()()(((()))(((()))())()()))()(()()(())(()((()()()()))(((()(()())(())(()()))())())())))))()))()((()(()()))(()))())())(((()()(((())()(())))()(())()(()())())))())))))(()((((()(()())((()(()((()()()((()()(()(())((()))(())())(((()()))()(()))())()())))))())()))()))())))((()())()()()())()))())()(((()(())))(()))()()))))()()(((()()))((()()(((())))())))()))(()))))((()))(()))))(()(()()))))(())))(())()))((()())(())()()((((()())(((()()))()((()()))))(()))))(()))(()(())(()()((())(()())()((((()(()())(())))())()())()(()())())))()())())))(()(())))()))()))(((()(())((((()())())((())()()))(((()()()())()((((((())()))()((((())))))()()(((()()())))())(()(())))(()((())()))()()))))(()(()))))((()((()))())((((()((())))(()(()()(())())())(()()(())))((()))(((()))))(())))))(())()))))(((())))(((())()()(()(((()((()))(())))(())))(())()()((())(()())))(()()()(()()(()))(())))())())(()()))(()(()(()()((()))))((()))))()()(()())()()())(()()()())())((((((())()()())(((((()()((())())(()()))(((()(()(())(()))())()((((((())()()(((()((()))()()))()())))()))()(()(())()((()))(())()))()))))())()((())()(()((()(()((()))((()())((()()))))))()())()))((()()((()()))()())())(()))(((()()()()(()((()(()))(())(())(()())()))(((()))()((()(()))))))()(((()()()))))()()(((()()))()))))(())()()()((((()((()))(())))))(())(()()(()(((())())(())(()()))))((()))(()()()(((()(()))(()(((()()))()((())((())()()(()()((())(((()))())((((()(())()(()()))(()((()()(())((()((()))((())((((()()))))())()))()())()(()))))))((()))(()()())(((()()((())))((((((())(())())()(((((()))()))))((((((()((((((((()())))())())())(()))))))()()((())())))()(())()((((()(())(((((()()))()((()((()())()()(((())(((((()()((((()))()()))())()))())(())))()(((())(((())))((()))(()))(()))()()())()((()())((()))))))))()(())))()((()())()())())((((()(((()))(((()()))(((((()((()()((()((()))()()))()(())())))(()())))((()()((((((((((((())())(((())((()())(())(()(()(()()(()((()()()((()))())))))())))(()(()))())(((())(()(())(((((())(()))())(((()())))))()))(())))()(())())(()()))))()))))()()()(())(()()((((((((((((((())())((())())))))()((())(())((((())())((())()))()((()()(()()())()((())))()()))())))(()))()()()()((()(()))()((()((())(()(()(())))(()()()()((())(()()(((((())(()))()()()())()())))()))()))(((()()()))()(((()(())())()((())((())))))(((()(()))))())((()(()((()(((((()((()))())(())(((()))((())()((())))(())())))(((()(())(()()((()(()(())()())((())()()((()((((()()()()((()())()()((()))())((((()(()((())())))))(()()()()())(()()))(((()()((()))()(())((()))(())))()(((((())))))((((())))(()))(()(((()()()())((())()))))()()))))()((())(()(())))()()((((((()()))()(()(()))))()(((()))()))))((()()())()(()))))((()()())((())))))(()))(()(())))()()(()()(()()(((()))())()()))(()(()()()((()(())()))(((()))(()()))())((())())))))((()((((())(((((()()))))()((((()())(())((()))(()()))(()(((())())()())())()))))))))())()(())((())((()()(()))(()((())(())((())(()))))())(((())))))())()(((((((())))(())(()((((()((()())())))(((()(()((()))()))))))(())()((()(()))))((())))(((())()(())(((()()())((())()))))()()()))())))(()(())((((()())(())))())((())(((()()(((()()(()(())((()))(())((())()(()()()(()))(((()((()())(((((()))(()))())))())((((())((()()))()(()))))(())))))(((())))(())()))))))))(()(((()()))((())))()(())))))())((()))())))((()))())()()(((((()()(())(((())((()()())))(()()))))()))()((())(()())((()())(()(())))())())(())(()()((()))())())(()))((()))(((((()()(()(((((()()((((()()()(()(()()(())()()((((())(()())()))(()())))()(((()(())()))((()(())()))()())()()(()))))()())()(()(()()))((((((((()()(()(()))))))()()))))(((()(()()))(((((()()))()())(()))())())())((()())()())(()())(()())))()()((()(())))()(())))((()((()(()(())((((()((())))))))(()()(())((()()((())()(()()(()()((()(())))((()())(()(()())(()(((()((()())(((()())((((((()()(((()()()()())())(((()((()))(()))))(()))((()))(())())))())(())(())))()))((()((()(())))()(())(())((()()(()(((((()()()))))())))(())()((()()(())))(()()(())()))()(())((()))()(()())()()()(((()((())(((()(()())(())()((((()()((()(()))))(()())()())))))()))((()())())))(((())((()()()(()())))(((())((())())(((()(()())))()((()()())(()()()()(())((()))(())()))(())(()(())(()((()(((((()()())((((())(())()()(())(())((()))(()()()()))()(()()()(()())(()))(()))((((()(())))))()())))))()))))()))))(())()())())((()))()()()()(()))(((()))())(()()((())()(()()))())()()()()()))()()((((()))(()))(()())))))))((()()())))((()()())()))()))((()()))())((()))))((())(((((()((()(())((((()(()()((()((((((()(()())()))(()())(()))()()((()(((())(()(()()(()()((())((()((())))((())))(((()())()))((())))))())((())()(((()()))()()((()))((())(()(((((()()()(()())()((((()(()(())(())))()()()()))((()()))())(((((((()(()()))())()((()))()))(()()))(()(())((()(()((((((())))(()((())))((((())))(((())((()())()(()()()()(())()))(((()))())()((((((()()())))()())((((())(()))())))((())))(())())(())((())(()((()))(()))(())())())()(((()(()(()(()()()()(((()()))()()(()()))()))(((()(((()(())((((()()()()((((((()()))()())(((())()()()))(())(()()()())(()))(()))))(()()))((()(((((())()((()(()()((()((()()))(())(()(((()(()(()())())))(()((())()(()(())))()(())((())(())))()()(()()((((())((()()())())(()()((()(((()(())(((()())((((()(((()(()(((())))))(()(((((())((()(()(((((()())(())(((((()))))((()))))(()())))()(()())(())()(((()(())()()((((()))())))()))(()(())()(())(()(())()()))))(((()(()(((()()(((((()())(((((()()(())()(((((()(()(()(()(()(((()()((()((((((()()))()(()()))()())()())()())))))())())())()))())()(())()((())()((()(())(()()((())()())()(()()))(((((((()())()())()())(()()()))()(()(((()())())())((((())))))()))))()))((((()))((()))(()()(())))())))())(((()())()))()(((()()((((()((((())()(())))()()((((()((()))())()(()())((((())))())()((()(()(()(()(((())))()()(()()((((())()))()())(()())(((()(())())(()()(()((())))(((()(()()()()(()(()())()))())(()))))())()()(((()))())))(()()(((()((())))((((())())(()(()(()((((())()((()()())(())(())(((((()())()()(()((((()()))(((((((()()()()()))))()())()((())()(()())()((()))))())(((((((())()())())(()()())(())(()()((()(()()))(()(((((((())()(((()())))(()()(()())(()(()((((())))))()()()))(((((()()((())()())))))(()(((())(((()()())(()(()((()())))(()())())()()()()())())()((()(((((((((()())))))))(()((())()()))()))((())()(()())())()))))))(())))())())((()(()()))()())(()(()()(((()))()(()(())()(((((((())))())))))((((()()())())(()())((()))))()(())(()()()()()()))()((()(()((()()())))))))))())())())))))()()((())))(()()(()(((()()))(((())()((())((()))()((())())(())))))()((()))()())(())((()()())((()())(()(()())(()(())))()((())))))(((())())(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))((()())((()(()()))(()(()()()()())()(())())))())((())(()())()((()(()()()))()((()())((()))((())())())))((()()))))())(())()(((()(()))))))((()((((()()(()))((()(()))((()((()()(()(())((((()))((((())()())))))))()(()))(()))))()))((())(()(((()))((()((((((())()(((())))()))()))))(()()()((()(()()(())))(()()))()))))()(((((())))(()(()()(()(((())())(()()((()(((((()(()))))())()((()))(((((()((()()))(())()()(((((()()))())()())))()))(())())())(()())((())(()(((()()))(()()())()))())))()(()()((((((()()))()((())()())())()())(((()(()((()(())))))())(((()((()(())))(()))))((()(()((((()((()()()()()()))(()))))))(((()((())))))))))(((()))))))())))(()(()(()(()()((((()(()((((())))()(()((()()()(())(((((()))())()())(()()()()(()(())))))))(()))))))(()())())()((()))())(((()()(()((())()))()(()))))(()))()()(())))()())((()()()(()())(((()()(()()))()(()()(()((()))))))(())()))()))()()()))))(()()(())())(())((()()))((()))(())(()))((()())(()))())((())))((())())))(((((()()(())))((((()))(()))((()))()(((()((((())))(()))()(()()))()((()()(())()(()()))))((((((()))())()((()()))((())())(((())()()())(()))))((((((()())))(((())((((((((())())()))((())))()))(()))))())()((()()))()()())))()()()(((((((((()())()))(()())(())(()()((((()))())()()((()(()))())))())))()))((((()(()))(())))())((()))((()()))()())))(()()))()))(())))()()((())())()((()()())()()()())(()()())())()()))())(()())(()()((()())())(()((())))))(()()(()()()))))))(())))()(())()((()))))))())())())))()()())()))))()()()()((()())()()()(())))))()((())()(())(())))((((())()()())()))))()))(()))((((((())))(()())(((()))))(()()()(((()()()()))))()()))())(()(()(()()((()(())((((((()())()()(((((((()(())((())()())()((((((())())()(())()()))()((((())(()(()))()(((())))()((())()())))(((()(()(()((((()))()(()))()()()()((())((()(((())((()()((())())(((()(()((((((()((()())((((((())()(()(((()())))(()))()()(()(()(()))(()(()))((())()()()((())(())()((()(()()()()(()()()))(()(((())))))()))))()()((((()())((()))((())))((()()((((()((()((()))()()))()))()(()(((()((())))(((((((()()()))())((()(())()()())))))((()(()()()))((((()))(((((((()()(()(()((()(()()(()(()())()((()(((((()((())()((()))())()))))()()(())())))))(()()))(()))()((()())))()())()(())(()())(()()))())(((()((())()())()())()))((()()))()))())(())(())))((()())())))()((((())))(())()))()(()))))())()(()()(()())((((((()((())(()(()()))))(((()((((()()((()((()(()))())))(()))()()))()))((()))))(())()()()(()()(()()())))()(((((()))))()((((())))(()())()(()()(()()()(())())((()(())()))()()))()()))))()))))))((())()()))()(()()())(((()()(())((((()))())(()(()()()()))))())(()))()))())()))))((((())()))())))))))))((()())()()()(((())(()(()()())()(((((())(()()())))()((((()(())((()()(())))))((()))()()))((((()()()))(()()()))(((((((()(())()(((()))))())(()))()((())(((()()()(())))()(())(())((((()(((((()))()))()((((()(())(()(((())(()()(()))((()()())((())(((())))())()))()()(())))))()())((())()()())(())()()(()((()(((())()(())()()(((()))())()()()()())((((((()(()(((())(()()))))()()(()))((((()((()))())))())((())(())())()((()(((()))(((()(()(())())))())))())))())()())))(()))))()())(())()()()(()))()()))(()(())()))(())))(()()()(()(()((((()()(()((()(()(())(())()(()))))))((())(()(()()())))(((()))()(())()(()())))())(())(()(()(())()()))((()))()(()()(((()())))()()()))())())(((((((())))(()()((()())(()((()()(()))))(((())()(())())))(())(((()))(())(())())))())((((((((((((()()))))())()((())()))())()))))()((()))(())((())()))(()())))))()))((((()((()(())()()))())((((((())(()(())(()))(())(((())()((())))(((()()()()))))(((()(())())())()))(()))))))(()(()))))()()))(()()(())())))())(()()(())))(((()))(())())()((())())(()()))()))))(())(((())(()(()()))((((())(()()))((()))())(((((())))))))()())((((((())()()))(())))(())()()())))))())(()()()))))((()(())))(((()())()()()())(()((((()()(())(((((((()())(()()(())))(())((()))(())((())))()))()()())))())((((())))()()()))()))()()(()((()(()()()()())(()))())))))))(()())(()()(())))(())))(()()()((())()((((((()())))))()(()()))((())()())(()))))()))()(())))()(((()))(()(()(()))))())((())(()())()))()))()()))()())(())(())(()((()))()(()((((()())))(()((())())))))))(()())(())()))(())(((())()()(((()))()(((())((()))()(())))))()))(()(((((((()())(())())()))(((())()(())))((()())((()(((()))()()((((((()((()()))()))()(()))((()))(()()()(())(()(()))))))()())(()))))))()()))()((())))()()(())((())))(())))((((())()((((())((())((()((()((()()()(((()))()))((())()(()(()())))(()(()((((()(()())(((()()()()(()()(((()()()())()((())))())(())(()(()(()(())(()()((()(((()))()((((()(()()()()(((()(((())(()(((())(((((((()()(((((()((()))()))(()))())))((()()(()()))))((()))))()(()(()))))(()(((()(()()()(()((()(((()()))))))(()(()()()))))())))())))(()))))))))))(()()))(((()))()(())()((())(()))()())))))(())(())((((()(()))))((()(()))()))(((((()()))(()))()(()()(()((())())()))()()()()(()((())))()(((())))))))((())()()((()(()))())))))))(((())()))))()()((())))(()())()))))((((()(()()())))(()))(()()((()((())(()()(((()(((((()))))()((()(()()(()(((()())(()((()()((()((()((())())))()(()(()))()(((((((())))()(()()(((()()(()(()((((())(()(())(()())())((((()()))))()((()(()(())((()(())((()())()))(()(()(((((()))()(())(()()))))((((()))((()(((()()()((((())))(()()(()))()())(()))()((())))((()((())))(((()(()))()()()(()))(())((()())((())())()))((()()())))())()(())))()((()(()((((((()()(()()()()))()))())())((()())))(())((((())(())))(()())()(((((()(()))((()()()))((((())(()(((((((()(()))))())(((((())()((()(((((()(()(()(()()))()(((())))((((())))(((())(()(()()(())((((())())())((()))))))()())))()))(()))((()())(())()((()()()(((()((((((((()())())(()((()(()(()))))(((()(()()(()))())()))(((()(())()((((()()((()))))()))((()((()()()()))(())()())(((((()))))))())((((()()()))))()()(()(((())())(()(())())()(((()))()()()()((()((()(((())(())((((()((()((()(()))))())(()(()))()(()()((()((()()))((()(((((((())()(()))(((())()())())())))))(((())())))()()))((()()))))(((())()))(()((((((()(((((())())))()))))))(()()(()())(()())())()(((()))()())()(()))()())()))))()))((()((()())))()())()())()((((())((()((()(()(()(((()(()()())(()())()((())((((())((()))(())((())(())((()))))(()())()()((((()((()))()(()(()()())))(()))))()(()(()(((((()()((()()()()))())(()(((()()(()(()(()))(((()(((())))))()())()))()(((()(())()))((()()())())))()(())(()()())(()(()(()))((((((((()())()()))((()))))((((())((()(((())))()(())())()))((()))(()())())))))())())()))()(()))()((()()(()))(())()))()(((())))))(()()(()((()(((())(()))()))()())((((((()()()()((()))))(()(((()()))((((((((()()())()(()()())(()(()())))(()(())(()()()((((()(())))())))())))(())()()()((())(()))()()()()((())())(())(((()))))(()((())(()()())(()(()((())))))()))((((()()((())())((()())))))))())))()()((()())((()))(((())()()))()())((())())(()))))())(())))(()))))))(()()))(((()((())((()))()()(()(((())(())))))))()(()()))))(()())()()))))()))))())))(())))(())()((())())))())()))((())))()(()())())()(()))(((()()(())))(()(()()()))((()()))()()())((())(()()((())()((())())()))()()))()()()))()((()()(()(()()(()))((())(()(()))()(()()(())(())())))))))(())()((()())((()))))())))()((())())))(())())()()((())())))())(()()()()((()((())())(())))()(()))(()())())(())(((((()(())))(())))))()(()()(())))))))())(()()))()))()()(()(())())()())(()))((((()(())()))()((())()))))()()()(()))()()())(((((()()))(((())(()))((()(()((((()))())()()))()))(()(())((())(()()(((()()(()(((((((())(((((()())))))())()(()()()))()))))(()()))()()))))(()())))))((((())))()())())((((()))()())()()()((()(((())((((()()(()()())))()((((((()(())())(()())()()())))())())()((((())())())))))())(()))()))()(((())))()((())((())(())()))))(((()((()()(((((()(())(())()(())())()(((()((()))))))((((())((((())))))((())((()))(()(()()))(())((()(()(()(((()((())(()(()())()))(()((())()()(((()((()((())((((()(((()(())(())(())()()())(()()))())())((()))))))))))))()(())))()()))()()(()()((()()))()((()(()(()()())))(()))(())()((())((((((()))()()))(((()))(())((())))))(()(()))(())(()((()()()))((()))((((()))))(()()()()))))(()))()))(())())(()(((()(((()())(()((()(())(())))((((()())()(()(()())(()))((()())(())())((())))(((((()))))((())(())()()()((()))))())))(()(((()((((())))))))))((()))))))()(()())(()()((()(()))()))((()))))(((())(()))))((()()())(()((()))))()(((()(())(((()(()))())()())())((((((()(()()))((())((()())))()())(()())(((()())(()))))(()))((()()())()(())))(())(()(()())(((()()((()()(((()))(((()))()()()(()())(((((()(()))()()((((()(()(())()()()())((())()(((()(())()((())((()((()()()(())((())()()))()((()()(((()))(((((())()()()()))((()()(((((())((()())))(()(((()))((()(((())(()()((())))((((()(((((()()()(()))(())())(()))))()()())())()))()(()))))(((((())(())((())))))((((()))))(()())()))()()((()()))()(())((())()))((())(((((((()(()))((()(((((((())(((())())))()()(()()))(((()()(()))))(((()()())))()())))()((()())()(()(((())()()()()(((())((()((())()(()))))()()(((((((())())(((()))))))())()(((((()((()))(()()((()()))))()((())())()())()))((()()()(((()()(((((()))))(())(()))())(((())((())))(()()(())()())))()))())))(((()((())(()))()()((()()((((((()()))))))))()))())()())))()())((((()()((((()()((()(()))())))(()))(()())(((((()(((()())()))(())((()(()(())(())()(((()))((()))))(()(()(((((())(()))()(((()()(((())))((())))((())(()()()((()()(((()(())))()((((()())(())(((((()()((())))(())(()))((((()()()(((((()))()(())((()))())(()(((((())(((((()()())(()((((((((()))(()))((()))()()()(()()(()(())())((()((())(((()(())))()((())))))))()()(()()())()((((((((()()())))()())())))()()((())((()(()))(()()((()())())((()()())))()))()))(())(()(()()())()(())(()((((()()(((()(()()())(()()(()()))((()())())()((()())))(())())())())()(()(()(()()((((())())((())()())((()((((()))()))))(()((()())))((())(((((((()((()((((((()()()(()()))()()(((((())(((())()())((())))((()()(()()))())((())))((()(())))))))))(())()()))()((()()(())()))))))))(()())()))))(()()((())((()))()()()(((((()()))))))()((()(()()())()))))((((())()))))((()))()((()()()))())()(()))))))))(())))(()()()((((())())((()())))(()()()())((((()())(()))))()(()(()))()((())(((()()))))))())()))))(((((()(())(((()()))((()()(()))((())(())(((()())(()(())(())()()))()(()()))()()(())))(())()()((((())))()()))())((()(()))))()()(()())()(()()((()((())))(()())))(()(()((()((()(()())()())())()))((())())()((((())))()()((()(()))(()))(()((((())(()()))((((()()())())()()))(())(()))))()(((()))()((())))()()()))()()()))((()())))(()()))(()())((()(())(()()))(())((())()()()))(()(((()(((())(()()))()))))(())))))(())()(()(())())())))()()()))(((()))(()(()())))())()()()(((()()))()(()(()))(())))())))()(((()))))))((())))()()()))()(()())(()())())(())))())))(()(())()(()))(()())()()))))((()()))(((()((())(((((())()((((()))(()()()())()())))())))))()))()(())((()))))((((()()((()))()()()(()())()(()())))))))()()())))()())))())()))()()(((()((((()(())())))(((()()))(()(((())()()((((()(()()))()((()(()()())())()(()))))()))(()()()(())))))()(())(()())(()))(()(((((()()()(()())()(())(((()(())))((()))(())((()(((()((()))))()()()))())())()((()(((()()((())))))))))())())(((())))(()(())))))(()())))()()())())))())))((((()))()(((()))(()((((())())))())())())))()())())))(()((((())()(()()()((()(()(()(()((((()((())(((((())(((((((()()(())((())))))))(((((((((((()(()(()))()())()(()()()((((()(()))(((()(((()()(())())())()()(((((((((((((((()()((())()(()(((()))()))(()(())))(())(()()()(()))()))()(())())(()))())()()))()((()()((()))((())(())()()()())))))()(())()()())())()()(()))))(())))))()))(()))(((()(())()()))(()))())()()(())()())(((()(()(())(()())))))()()((()())()))(())()()())((()(())())()))(()()()))())())))()))))()(()())))()()))()))()(()()))()))()()(()(((((((()()()))))(((((()((()(()()))))))()()())(()(()))))((()))()))((()())()(((((())()(()(())))))((()())()()(()((((((()))))()))))(()()(((()))()(((())))))()(())((())(())((())))(())))(()()))((((()()())))())(()(())(((((((()())(()())((()(())()((()())())()()(()(()()))()()()((())(((()(((()(()()(()))(((())())()))())(())())(())(())))(()())(()(())())))()(((())(()(())()(((((())))(()()())()()(((((())(((()))))(())()()))(((()()()())((((())())((()()((()(())(())((()()(())()))))))()(()()()())()()))(()((())))())((((((()(((((()())((((((())(()(((((((())())())())))))))())()())()))))(())((()))((())()(((()(())(((()))))()))()(((())())(()((())(((()()())))((())())((()())()()))(()((((()()())())()(()))()())(((()))()))()((((()()(((()(()(()()))()((((()((((())))()(((())())))()())())(()()(((()()((()()((((()((()(()()))((()((())))()()()((())))()()(()))(()()()()()((((()((())(((()))(()(())))))))))(((()))((((((()))()(()(()(()))))))(()))()(()()()()(()()())())()(())()))))))(()()((())((()(()()()())())())))))())()))()(()()((((()()((((()))(()()()(((((()))()((()((()))(()(((())(((()))()))())()())(((())((()(())()((()(())(())))()(()))(())))))())))(()(((()()()()))((()()(((((()()())((())))((()())(((((()(())()())()(((()())())))))(()))())(()))(((())(())()((((()(())))((()((((((((((())(((()((()()())(()))))))((()()))(((()))(()()(())()((((()((()(((()))(()(()((()))))())(((()))(((())()))()()(()))))))())())))()()(((()))(((())()))(()(()))()(()()()())())(((()(())()())(((()()())))()(()(((()()((((((()(()()())()((()))((()))((((())()()(())(((((((())))()(())((())))))()(()))()()())))))(())()))()))())((()((())())))())())((((()(())())(())(()((()()))))))())))()(())()((())))(()())))((()(((()))()(())()())(((()()(()(()(((())()()((())()))()())))))))))(()(()())))(()))))))(()()))()())((()))())))()()(((())((()((())))))))())((())(()())))()))()()()()()((((((())()())))))((()((())((()((()())()())()())((())))))(())))()((()))))()()()(()))())))(((()()())())))(())()()(()))))(()((())()(()))((())())()()))))(()())))()))))((((())())((())())()(()(()())()()()))((()))()((()(()))(((()((((()((())))()))(()((((((()(((())))((()(()((()((())))))(()((()()(()))())()(()())))()((()))())))))(()()()))))((()(((())()()((())()()))(((()(())))))(()())((()()(((())()()((((()()()))()))((()))(()))()()()))(((())()()()((((((()))((()()))()))())())))((((())((((((((()())(())((())))((())()))()())((())(((())(()((()(((()()))))(()))())(())(()))(()()()((())()())()((())(()(((()())(()(()))(())))()())(()())()()())(((())))(()(((((())()))(((())))((()()(())())))()()(()()))())((()()())()))(((()()())(()))((()())(())()()())(())(()(((()())()))))(()(()))))))())()((((())((())))))(()))()(()(()()))((((()))(()((())()))()()()((()((((()))((())))()()(())()))))))))((()))())(((((((((((()(()()))))()(()(())()((()(())((()))((())()(((((())())))(()((()(()))()))(()))((())()(()()((())(((())()))()))))()()()())()))((()(()())))())(()())(((())()()))((())(())())(())()()()()())()((((((()()))()(()())(((((((()(())())())()(((()((())(()((((((()))))()(()((())())()))(()))((()(()()))(()())()()())(())())(()))(()())((()))(())()(())))()())(())))))()()()(()()(()(()(())))()(()((())()(()(()))))(()()(()))()())())(((()))(()())))((()(()()((((()()(())))(())(()(((()(((((())()))((((((())()()))))((()(()((()()((())(((()())))())((()))))()))((((()(()())(()(((()((()(())(()()))()((()()(()()((()))))())))(((()()()))))))))(())()()()))(((()))()))()((((())((()()(()()())()((()((()()()()()())((()))))(()))()((()((()()())()(())))(())(((((((()()((((()()()())((()))()))(())(()(()))(((()(((())((()())(((()((()()()((((()()))))())))))((()))()()))((()))))(())(())(()))((())((((()))((()()(((()()))))))))))))))(()())((((())))((((()((())))()()()(())((()((()(()))())))(()()()())()))))())))())(())()()(((()(()())))))())(()((())(()))))(()()(()())))))(()))))(()(()()()()()))())())()()()()())))))()((((()))(((()())()())))()))))()(()(()()()()((((())))(((()(())())())(()()()()(()(((()))(((((((()))()))))()(())()(()))()()(()))((())(()))((())()))()((()))(()(()))))((((())()))))((()((()())()()(()())))))))))(())))()(())(((()()))())))))))))(((())()(()()())()())))))())())))()))(()()()(())()(())(()(()()((((()(((())())((())))))(()))(((((())())())()()()()(((()(()(())((())()((((((()()()()())()()(((())))))))()))(()())()(())()))))()()))))()()(()()(())()(((((())))((((()(())))()))((())((()))))(()(()((()()()))(((()))()(((()))))))())())((()()()(()(())))()()()()))(((()))))(())()))((())()(())()())((((())(())((()()()((()()((()(()((()()(((((()(())))(((())((((())((()))()(()()))(((()()(())))(()))()))()()))))()))))()())())((())))))((((((()((())(())()()))()()))())())((()))(()(())((()(())))())(()((((()()()(()))(()(())()))(())())((((()())(((()))(()()((((()))((()(((()))(()()()()(()((())())()(()()((((()((()()())))())()))()))))()((()))(()())())()(((())()))))(((())()())(())(()()))(((()((()()))((()()()(()()()())()))))))((())))()((())((()))))(()(()((()))))((()()()))))))))()()))(())())(()))(((((((())((()()(()((()((()))(()(()(())())()))())())())()((())(())((()())())()(((())))))))(()((())((()()())(())(()()(((()())()()(((((()))(((()((()(((()()(((()((((())(())(())(()))(())(()(()(((()))(()))))))(())())(()()()((((((()())((((((())))()))))))((((())))(()(()(()(()(()))()(()))(((()((((()()((())))(((((()))())())())()()()))))()))()()))()())())()()()()(((((()()())((((())()())())((()(())()())()()()(())()(()(())()))))(()((()))((())(()))(()))())()())))((((()()())))))(()))((()(()((()())))))()((()())()))(((((())()(((()(()(()))((())(()()(()(())(()())(())())())())(()((()))((()())))))(())))(((((())()()))))))(((())()))()()))))()()(())())())(())(())((()()(()(((()(())())))))((())(())(()(((()((()(())(()(()))(()))(((()))()()())(()())))(()(((())())))(((()())()))())(())(())))()))(()(((()))(())((())))()(()(((()()(()((())))))()))(()(((()(())(()((()))))((()))()()()))))(()()(()))(()))()))()())()(((()))(()))())(()(()())((()((((())((()()))))))))(())))()())))))()))())))(()))()(()()((()))(())()()(())))((((((())))()()(()(()(())()((()()(())())((((()(()()))(())(()()())(()(((()))((()()(())((()))))))()())(()(((())((())()((())())())))()(()(())((((())(()())(()()))())(())((())()())((())()((((((()(()((()())()((((()((()(()(())()(()())((()))())()()(())))()(()))((()))(()((((()((())())(()((()(()()(((())))()()()())()))(()))))))))()()))((())(()(((((()()(((())())(()))))()))))))()(()))(()(())(((())(()))((()()))()(()(((()(((()()(()(()())(((((((()((())(()))(()))))))(()(()))))()()()))(()()(((()(())()((()())())()()()((()((()))))())()((()(())))(()()))))((((())(((()))(()()((())))()()))))()()))()()))()((((()()())(()))((()(()))(((((()())(())()()))())()))()(()))()())()(())))))(((((()()))(())))(((()()))((()(())((((()(((()))(())((()(())))())(((((((()((())()(()))))(((()())))()(((((((())))()(()(()()(()))())())())))()()((())(()()))(()((())(())((())))(((())()))(()())())))()(()))))()())()())(())))))))))))())()())(()())))()(())))))((()))()()))()))(()())))()())(())((())))(()(()()()))())))((())())()())))()(())(((((()()())((())()))))()()()(()())(((((())))(((())()(((())))(())))())))))())())())((()()))())()()((((((()))))())))(())))))))))()()()))()(((()())()()(()((()())(())((()())(())(()))(((((()()(()()())())))())(()))()))(((())((()((((())(()))((()())))()(())())))))((()(())(())(((((((()((()())()(()())))((()())()(())))()))())()(()((()()((()()(())()())()(())((()(()())(()(()))))))))))(())))))(())())))()))))((((()()))))))()(())(()())()))))())()()(()(()())))()()()((())(((()(()(())(())(())))(())))(()))))()))()()()(()))())))))(()(()()((()()(((((()))(()()()(()))(())))((()())))(())(((()(((((((())(()())())(()))(()(()((((()()())))((((())(()(())()()))(()((((())()()(((()((()())))()(())))())(())(())))))())((()))))(((()((()))))()(((()((()((()))()()())()(((()((()((()(((()))))(((()())((()((()((()(()()))))())(()())))))()))())(())()()())((())(())((()()(((())))))(()(()(((((((()))())()()(()()))))(()()))(()())()()(()))()()(())(()))()(())(()()()((()(()(((()()(()(())(((()()((()())((((()()))))))(()))))(((())(())))()()()(()())))())(()))))()((((((((()((())))((())((()))(())()))()(((()((())()(()(())())(()((((()))()(()))(()())((()))(()())))(()(((()())()(()())()))(((((()()(()(()()))((()))((())((())())(()))(()))((())()((((((()())(())()((())))())))))((()()(()))()(((())((()))))(((((()))((((()((()((()))()(())((()((())((()()()(()((()())))(()))(((()))((()(())()()())(()))()())(()))((((((())())())())((()()()(()))(()()((()((())())()(((()())()))()((())))()()()()())))(()()))()()())))))((())((()))))()()())()(())((()((()))))))(()(())((())(())())()()()()(())())((()())))()())((())(()))()))((()))(((()))()((((())((()(()((()()((((((((()))()))))()(())()())(((((((((((()(((()())()()((())((())(()()(()(((()(())((()()())))()))(()(((()()))()(()(()(())(())()())((())(()())(((()())))(()((()((((()))))(((()(((()()))()()()(()()))(())))()))(()((()(()()(((()()))(()))()(()(()))))))(((()())(())((())(()((()))())))))()((())()())))((()()))))())))(((())))))((((())(())()))()()()((())()())((())))(((())))(((()(((())()))()((()((())()))((()())()()))))))))()(((((()))((()((((((())()))(())(((())())())())()())(())(())((()))(()))((()(()())()))()()()(((()()()(()()())))((()((()())))()()))())()((()((()))(()((())()())(()))))((((()()(()(()))(())(())())(()(())))))))))((()(()((()()))()()))()((((()()((((()()())()(()((()(())))(())))((()))(())()))()())))((()((()))())())(())())()()))())()(()((())()))()()(()()()()(()))(()())()()(())))(()))(((())((())))((()))((()()()()))))())))))(())(())(((((((((()(())(()((())(())()(()(()()(())(()())(())()))((()()((())()))(()()))(()()))())))())())()))()(())()()()(())))))(()()((((((((())(()()))))(())((()))))((((()())(())))(((()()())()()((())(())(((()))))())((())()))()())(((((()())()()(()))())())((()(()()())()())))()))())((())())())))((()(())(())))((()()))())((()))())()))))()(()(())()((())))))(()(())()))((((((())((((()((()))((((())))()()()())(())(()())(((((()))())))))(()())()(())()))((()()(()(())))))))()()(()(())()(()))))()(((()()())((()()())(())((()()(()))())(()()())())()()(()()())((((())())(((()()((()())(())())))())((()))((())((((())(()(()))(()(())((()(((((())))(((()(((()((()(()()((()))()))((((()(()(((((())(((()()))(())()))))))))))(()(()))(())((())))()()()(()())())(((()()())()(())())))))())))()(()))(())()))(()))((()()(((()((())))))(((((()))())(((()())()(((()(()()((()((())))()())())))))((((()((())(()()())(()()))(((())((()()))()(())))(())(()()()((()(())))(())(()()()((((()(()((())(()()())())(()(()(())()(((()(()()(()(())))(())()))))((())())))((())((()((()(())))))())())())))))())((())()))())()))(())))))()())(((()()())()(((()((((((()((()((())))()(((()()(()((()((((()()))))))))()())())(()))))))())((()()())((())))))((((())))))))()(())))))))()()())(()()))()((())(()((((()))()))()))(()(())))((()()()(()((())((())())(()))(((()))))()()(()()(())((()(((((()((((()))(((((()()))()()()(()())())()((())(())((()()())()(()()(())))))()(())())())()()(()()((((((())(()()(((()))(((())(((()(((((()(()(((()(())()()())((()((()((()()))((()())()(()))())))(((()(()()()))()))(()()(((()(()))()()((()(((())))()()()))(()(())))()((()(()))(()))))()(()))))))))))(()(((((())()(((())())((()(((()()))()())))(())(())()))(((((())))))())((()())()))())())()((()()))()(((()))((())(((())()(())()(()((())((()())(()()()))()))))))))))()())())((()(()))()(()(()))))(()((())()))()())()))))()(((()()((()))())((()()((())())(()()()((()(((())))()(()))))())(())))(((()()))))()(()))())()))((()())()())(()())()()(())))((()))))()((((())))))())(())()()())(()()()(()(()(()))))(()(((()()()((((())()()((((((()))()(((()()(()))))((((()))))())))))(((())()((()()))())())))))()))())(((((())()(()())()((())())((()(())()))))())))((())((((()()(((((()(()))())()((((()))()))((((((()(((()))())())()((())(()(())())((())((((())()(())(((()((())(((((((((()(())))((()))()()(((()()))()))))(()))()(((((()((())(()(())((()()(((())(())()))(()((()()))()(())))()))(((())()()((()()(()()))()(((()))((())(()))(())()())(()()))())(()()((((()(())()())())((((())))((()(((((()()(())())))()))()()()()(((()(()))()))))))((()()())((((((())((((()))()()))())())()))))())(())()((((()()((()))()(()()((())))()((((()())(((()(())(((())()())(())((()))(()()))(()()(()(()((((((((())())))())((()((())(()(()()((()((())(())(()()))((()()(()()()()))(()((()))((())(()()(((()(((()((()())(())(()((())()))))()())()))()(((((((()))))(())()()((())(())(()((()()((()))())())(()((()(())())()())())))())))()(((()()((())))(()((()()))((((())()()(())((()(()))((((())(())(())(())()(())(())())))(()())))))))))((()(((()(()))()))()(()()()((((()()()(()))))())(()())(())()))))()))()()((()(()())()((((()((()((())))())))()))(()))()())(()(())((()(()))))))(()())((()())(()()))))))))())()()())(()()()()(()()()())())(()(()(((()()())()())())())()((()(()()((()((())(())))((()()()(())(()))()())))))())(()))())((((((((()((())(())((()((())(()))()())()))()((((()(((()()())()()))()(()))(((())())))())())()))(()())))(()((()((()((()))))))((()()()())()))((()))()())(((())(())(())))))))())())(()()()(())(())))((()(())(()(((()()()())))))))()))))(())((())((((())))()(())))()))()()((()))((()(()(())))((((())))))())))())()))))()(((((())((()())()())()(((()))((()()()))))()())()((()((())(()()(((()(())(((()))()())(((((((())(()())()())()((((((()()((()()())(((()()))((()(()(()))))((((()(()())))()()))(()())(((()))((())((((()())()()((()(()((((()(()()))()(((()))))(()(((((()()(((()))(())()))()))(()()))())(()))(()())))(())((()(((((()))))()(()))()()))))))()))))()()()()))())()())()))()((()())()()))()()())()((())())(((())))())()(()()(((()((((())(()))()))((()((((((((()(((()))(((((())(())((((()()(()(()())()((())(()))((())())((((()))(((()((()))((((((()())((())))(())))())()()())())())())())()(()())(((()()())((((())()((())))))))))()()()())))(())()()()(((()())()(()))((()))))))()((()())((((()))))(()))))())))()()))))))())))((()()))()((()())))())()(())()(()(()(((()))))()))))((()()((()))))))()()()(()(()(((()))((())((()()))((())()(((())))((())(())()))(())))(()()()()))))()(())))(())))))))()()(((())()(())()()))()))()))())(((((()))())())())))))(())()(((())))())()()(()()(())(((((((()(())()()(((((()(())(())()(()()(()(())()()()))))((()(()))()())(((()((((())((())))))))()))()(()(((()))))()(((())((()(()(())()(((()))())()(()))())((((()()(()(((()(((()())))))(())))((())(()))())()))(((())(((()()))()((((()()(()(())(()(()))())((())(((((()((()()((((()((((())(()))((((()(()))(((((()()()))())))()()(((((()()(())))()()))((())()))))()()()(((())(()(()))))(()()))))(())(((()(()()(((()(()))((()()))())))))()()((()()((((()(()))()()()(()))((()(((())(()()()(((((()()())(()()(((()(())()())())))(()(())((())(()())())()())(((((())((((()(()))())(())((()(())(()()(((()(((())(()((((()()()()((((((()((((())()))()(((()(()))())()))())())(((())))))((((())())(()()))(()))((()))(()(((()))))))))))())()))()())()()()())((((((()()())((((((()())((()()))())()()(((())())())((((()()))(()))))(())())(()))))())()))((()))(()())()()))(()()()(())(()()()))(((())())))(())(()))()))(())))((())((((())(()()))))(())())))(())()()(((()()(((())(())()()()(()(()())())()()()(())((()(())))))())(())))))())(())()))())))(((()())))()(()()))()(()(()((()()()))(())(()()()))(()(()())()(()((())((()(()()())())(())()()()()(())((((()(()())()((()())(()))(()())())()((()()()))((()()((()()((()(()()(())(()(()()()(()(())))()((())))()))))()()()((((((()(()))(((()(())()(()))(())))())((()))(()))))()(((()((((((()((((((((((()))()(())()))()((()))()(((())()()())))()(())))))()((())()))())()))((())((())()))()))(((((()()((()(((())(()(())()(()((((())(((()())())(()()())())(()(((((((()))()))))((((()))))))()())(((()))((())((())()())()())()(())))(()((()()))(()()()(()())(())))()))())))()()(())()((()))))))))()(()()((())())(())(()))()()(()()))(()))()((())))))(())(()))(((()(((()(()((())))))((()())())()(((((()))()))())())()(((((((((((()(()((((())()())(((((()))))))))((()())())((((()((())())(((())()()((((()(()((((()()(())()())()))))((((())(()()()())))(())())()(())))(()(((()((())((()()()(())()((()))(()))(())))())))(()((()(())((())))(())(()))))((()((()()))())())()(())()(()()(()(()))))())))()((((())(())(())))))(((()((()()((())))(()(()(()()()(((()())((()()))()(((((())())()(((()()))))))((()))((())()((())()()())(())()))))())(()(()))))(()))(()(()))(())()()(()()()())()())(()())((())(()()))(()(()())(()()(()())))()(()(((())()())())(()()))())()((()))()()())((())))))()))))))())()(())((())))(()(())()())()((((()((()))))))(()(()((((((())(()((())))())((((((((()(((())(()))))()(())(()))()()())(((())(()))((()(())(())((()((((()()))()))((()(())(((((()())(())()())))()))))())))()))((())()(((()(()(((((()()()(((((())))(((()()(()))(())))()()(())(((())(())()((())())(()(()()))))))(()()()()((()))((()()()())((())(())()()(()(())(()((())))(()())((()))())()())((()()())(()()()())()((()))))()((((()))(()()())))())((())))()(()((()))))())(((()(()(()))))))()(())))((()()))()()()()())))()))))))())())((())(())))))(((()))())()())))())(((()))()()((())(()(()()(()))(((()))()()))()(((()(()))())()(()((((()()())()()((()()((((()))))))(())))((()((()(()()(()()((((()())(((((((((()))()(()())()((())()(()(((()))()()))((((()))))()(()((())())())((()))(())(())))((()()())(()(()(((((())))())))()(()((())()))()((()(()))())(()((((()))(((())((()()))()))))(())))(((((((()(())((()((((())(()()))())(()))()()())(())(((())((()()))))()(((()((()))()))(((())((()))()))))((()))))))))))(())())((((()((()()()))(()(((()))))())))))())))(()()((())))(()()((((()()()))()(()()()()()((()(((()())()(())(((())))((())(()(()()(()()((((())((()())((()((()(()(())))()(())((()))()((((()())((()))))()()))(())()())()()(()((()())))))()))((((()())())()())(((()))(()(())))()()))(()(()))(((()()(()(()(()())(((()()))()))((())(()(())))()()()())))(((()()()(((()(()())())))()(())((()()(()(()()))(((((((((())))))(()))()(((())))))()(()(()()())()()))(()))(()))()((())()(()()))(()))(()((()())))))(())))(()())(((((((()()())())))(()()())()(())))((()))()))(()())((()()())()))()()))(()()((()()(())))))((())))()(()((()(()))())(()())(()))))()()))))))()))(()()()(())))((())(()(()(((())(((((((()())))(((()()())(()()(()))(()(())())(())()((()(()))(())())((()()(()()))(()))((((((())))))()))((()))))()())(()())))(()(()()((((()()()()))())))()))(((()(()()()))((()))()(())(())(()((()))()()((((()(((())((()()(()(((()(((((())()(())()(()(((())))()((())())(())(((()()(()())())))(())))()()()((()))())()()))((()()()())(())(((())(())((()))))((()())))(()))()()))())((((()()(((())(()()))))()))))((((((()((((()(())((()((()())))))()())()(())))(()))))(()(((()))((()()))(()))()))))(((()))())(()))())(())(()))((())))()))(()))()()())(()((()()((())((())((())))())((()((()))()(((())())()())())((()))(()()((()))(()())()))()()(())()())())(()(((()(((()((()()()((((((()(())))(()((()))())(())((((())))()(()))())())()()(()())((()()(((())()(())()))())()()))()(())(((())())(()))())()))(()((())(((())))(()()))))(())((()(())())(()((()))((())(())())(()(((()))))()())())())(())()((((()))(((())((()((((((())((()(((()))))((((((()))())()))((()(()))(((((()(()))((((())()(())))(((()))(((()()((((())())()()())()())))()()(()((())()))())(())))()()()()(()))))(((())())((((()))(()())()))())())()()()(()))((())()()()()))(())(()(()))))())(())()()()()(()(()(((()(((())())))()(())))(((((((()()))((((())()))())))()((())))()(()(()(()))())))))()()((())(())()(())()))(()(((()(())((()(((()))()())))(()))())())(()(())()()))(())((()()(()())))())()()()((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(())()))()(()()()())))())(()(())))()())()((())()))))))((((()((()))()())(((((()()))))))((()()()))()()))((()(())(()(((()))((((()()))())))()))(())(()))())(())(()()())())((()((((()(()((()()((()(()))()(((()))())()))()()())))))))())()(()(())()))((()))()()()(((()((((())))(()(()()(()()((())))))()(()(())())(((()))))))()())()((())((())()(()(())((())))(())(()()()())(()))(()(((()()())()))))(()((((((()((()((((()))(((())((())()))(()())())(((((((()()))(()()(()()()(()(()))((())()((())(()(((()))))(()()())(()((()()))()(((()))((()()()()))(()(((((())((((())()()())())))))((()))))((()()(()))())(((()(((()()()(())(()()))))))(()()()()()))()((()))))((()))))))))()()(()(()))()((()(()))(()))(()()())((((()()()))()()())((()(())((())()(())((((((()))()))((())))((()()())())(()))()((()))())()((())())(((()(()))()()()()(())))()(((((((()(()())()(())()(())()(((()()(((()(()()(()))()))((()(()())((()(((()()()(()())()((())()(()))))(()))())())()(()()()))((())))())))))))()())((()))))))())())((()(((()))((())()((((()()))((())(()((())((()((())(()(()(()()))()(()))))))())((()())((()())()))))()(((())())())()((()((()))()((())()())())(((()((()())()(()((((()(())())))()((()(((((())())))(())(())))())()())(())())))((())))))()))()(()(((()()())))())))()))())))((()(()()()(((()()))())())()()((((())(()(()()()(())()))))(()()()(((()()))(()()()()(())()(((((()())))()(((()())))())())()(((((((()))()(())))))()))())()(((())((())((((((())))(())))()))((((()))((((()()((()))(()(((())))))))())()((()())()()()))((()(())()()(((((((())))((()(())()()))()(()(()(())((((())(())())))((()(()())))((()()()()()))(((()((())())(()(((((())))))(()))))((()(()())))(()))))()(())(()(()(()))))(()(((())()))))()((()()))())()())())()((()()(())())((((((()(((())(())))(()())))))))(((((()(((())())()(()(()()(()()()())())(()()))))())())))(()())))())())()((()(((()()()))))((())()))(()())())((())())))))((())(())(())())))(()())()(()(()(()())()()(()((())()))(((())(()()())()()))())()()((()())((((()(((()()((()(()(())(())))(()))(())()))(()))))))))(((()))(()()))())))))())))))))()(()())())()()))()(()(()()()))(())()((()())))((()))))()())((()())()())((()(()))()()))()))())(())()))()))))))()())())())()))())))(((()((()(()))((())(()()())(())())(()(()))((()))(()))))))()(()))()((((())(())(())((()(()()()))))((())())())((((()(())((())))))(())()()())(()(()()())((()))(((()()((()()())))((((()((((((((())))(((())((((((()))(((()()(())))((()))(()()(((((()()()(())))))()()(()(()))(((((((()((())()()()(())(((()(()()()(((()())())()()((((())((((((((()()()(()()()((()))))()((())())()()(())(()))(((((())(()((()()(((((((()())))))()())((()))((()((()()())(((())))()))(()()))()())))))()))))((((())))()(((()))((())))(())((((((()(())((((())(((())(((())))())()()(())()))(()(((()((((((())(()())(((()))(()())))())()(()()()((((((()()()()())))()()))))(()(()))))())))()((())())(())))))())(()(())()()(()())))))))))(()((()())())(()(())()())()))(())))())()())()))())()()()()((()))())()(())((((())))(())())))()(()()()))(()))()()((()()((()(((())(())())((()(())()())(()((())((((((())((()(()))()))(())()))(())((((()(()())))((())(((((()))())((((()(((()()))()()(()((()))(())((())))())(())))()((()(()()))(())())()(()))))()()))((()())((())((((())()()(()))(((()(((((())())(((()(()()))(())))(()()((()()())())))(()())))(((())))(())))))()()))())))()(()(())()((((()()(()(()()(()())(()(((()(()(()(()(()(()((())())()()((((((()(())()())()(((((((()()((()()(()()))(((()()())()()()))((((((((())((())(((())))(()(()))))((()()(()((())(()())())()())((((((((((((()(()()))(())(()))()()))(())(()()()((()))(()((()(()()()))(()()((()(((()((()(((()()))))())((()))(((()))()(())))))((((())())((()))(((()()(((())(()((())())()(((()))(())()()()())()))))(())())((()()(((()()(()()()())))((()()))((()())())(())))(())((()(((()))(((()()(()(((()()()()(())))()(())))())))()))()(()())())()))(((()))))))()(())()((()()((()())()()(()()())))))(()))))((()(()(()))(()))(())(())((()))))(())((()())()(())(((())((())))))))())))))))((())))(()())(()())(())((())((()()()())()))))(((((((())(()(((()()))))())()((()(((()()))(()()))())))((()(((())))(((((()))))(((((()((())))())(()())))(())(())))))((()))()(()(()))())())()()))()()()))())()((()(()((((()(((((())()(())(((())(())()()(()(()))))((()((()((((()((((())()((())))(((()))())()(())(()(()()())(((())()())())(()(())(((()()))())(()((()))()(()())())())(((((((()(((())((()(())(()())(())()(()())(()()(()((())()(()())(()((((((()())()()))(((()((()((((())))(()(()))()(()(((((((((()()))(()(())))((()()))()()))))())())))(()(())))()((()(((())()()(()(()((((())))))))(()())))))))((()()(())))())()()()()))(()))()()((((())()(()())))()))((()))(()())(((((()())((())())))()())))(())(()(()(()))((((()()(()()))())()()((()))()))(()))()))(()(())(()((()))(())(()((()((())()()(((()())())())(((((((((()(((((((()))((()()()(()()()())()(((()))()))))))(((((()))))())((())((())(((()())(()((((()())(())())((((((((())())((((()(())(())((())(()))(()(((((()()())))(())))()(())(()))(())()(()())))()))()(((((())))))((((()(())(()))((())))(()()((()(()((()))((()()(())(())())())))()))(())((()()(())(()))()((())(())))())()(((()(((())()())))((())))((()()()(()()(())(((((((()()())()()())(())(()())(()((((()(())(((((()()))(()((())(()()))))(())))((()(()()()))()()(()((()())()))(()()(()(()()(((((()()))(()))))(())(()())))()())(()()(((())()))()(())(())())(())(()())((())(())(())))()((()()()(())))(()(()))())((()(((()))()((((()((())(()(()))()())(())()))((()))(()()()(((())()((())))()))((()())()()(()(((()()))())(()(())((((()))()))))))(()()()()))))(()())())(()(()(())((()(()))((()()(())())(()(())))()())((()()()))((((((()())())())))())))((((())())()))())()))()))(()(()))((((())))))(((()))(()()))())()))(()))((()))()(()()(()))))()(())()))()))(()(()()()))(())(((())()(())())()(()()))()))))()))(()()()()(()))((()(((()()))(())()())())((()()())))()()(()))((()((()(())))(())())((()(()(()(((()(()(()(()()())()())())())()()(()))()))((()()((()())(())(((()(()((())(())(())(()())(())))))))()))(((())(())())))))()(()))())((())())())()()))(()(((())))))()()(()()(((())(((()((())((()()((())))((()())())(()(()()))))))()()((()(())()((()))()))(((())()()))((((()()()(()(()()(())))()(())())(((())))())(()()))()(()()))()()())))(()()(())((()(((())(()))((((())(()(())()(())))()((())))()((()((()))))))(()))())))())()((()))((()(()(((()))((())())())(()()((()))(((())))())(())))()()))((())(((()(((()()()((((()())(((((())()(()))))()(((((()(())(()(((((((((()())))()(()(()(())))))))(())())))()((())()()()))((())(())(())((()()((()))()))((()((()()((()(((()(((()))(()(()()))())(((()((())())()((())())()(())(())(())(()(()()()()))())()(((())())(((((()())((()()()((()()((()())((())(((((()((((()))(()((())))()()))()))))((()()((()(((()(())()(()))())((()))(()(())()())((()()))())))()((()())(()((())))(((())))()()())((())))()()(((())(((()))()(((((()(()()((())()()))))()(()))))))))(())))())((((()()()())))(()())()()))(((()))()))))))(()()()())((())())(()((()(()((()((())))((())))())())))()()((()))()((()(()()()((((()(())((((()()()(()())))(())()())())(((()(()(())(())))))((()(())(())))((())(())((((()))(())(()(()(()))))())())())(((())(()))((()(()))()))))))))()(())((())(()(((((())()())((()()())(()))((()))(()()()()())(((()))())))()()(((((()()()((()))(()()))))())))()((())((()())()(()))((())((()(()))))((()(((()))()(((((()()(((())))((()())))())(((())())))))))()()((()()()()((())()(()((((()()(()()((())))(((())))))()(())()((((((()))())()))(()((())(()()()()((((()()())()()((())))))(()()()()(()()))))()(((()(((((()))()(())((((((())()()(())()()()((((()()(()(((((((()(()))((((((()(((())(())(())))))()((()())(()))(())))())()())(())()()(())(((()())((()())()())((((())((())))())()()(()(())()(()((())))())))())()(()))(()()(()()())(()))(()()))()))))(()()()))))(())))((((((((())()(()))(())()))(()(()())((()))()()(((((()()())))()()())))))))()((((((()))))(())))))(((((()())))))()((((()))((((()((((()))((())()()()(()())(()()()(()(()))(())())))())(())()()(())(()(()()))((()(()((()()())()))(()()))((()()())))()()))))))))()((())))(()()(()()())()))()(()(())))()()(()((((())()()))))))(()))()(()(())()))(((()))(()()(()()((((()()())))((()(())((())(())(())(()))(())())))()))(()())())))()()))()))()((()()))(()()((((((((()(()()(((((((()(())((((())))((()((((()())())()))))(()(()((())(())())))()())))(()))(()(()()()())()()))())()())(()()()())))))))))))()(()))())())()()(()((()(())))()(()(((((())(()()())())))())))(())))()()))()(()))))()()(()()())()((())()))))(()()()(())()))(()(()))())())))))))))())((())(()())()((())()))))()))))(()(()(()()(((()()(())))()))(())))(())()((())((()())())(((((((((()()())()()((()(()))))((()))(()(()()))(())()((()(()((()(())()))()))()())()))())))(())(((()(())))))))()))())))(())()))()))((()()(()())(((())()()())))(()))()))(()((()()()()()()()((()(())))())())(((((())()))))(((()(()(()())())()((())()((((((())))()(((((()(((((()))())(((()()()))(((()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()((())(())()()()())(((()((()))())()))((()(()))(()(()())(())(((((()()))()((()()())((()((((()))(()))))()((((((()())(()(()))))()()))))((((()))(())()())))))()((())()))()()))))()(()))(()((())()(())))()))()))((((())(()))(()))(()))()))())))()))))((()(()(()))))()((()(()(())(()())()()))((()()(()(((((((((()()()))()()((((((()()())(((((((((())((((()(()())()((((((())))))((()()))()())((((((()()())(()(())()()(())))()())((()()()))((()))))(())(())()))))())((((()))(()((())((()()))(()))()(()()))(())(())())(()))))()((()(()(((())())))())((())((())()()))((()))()))(()())))())())())((())())(()))))(()(((()()))()((()()()((((((()))())()))(())())((()))))(((())())))()()()((())(())((()(()((()((((())())(())()())()()))()))()(()(()))((()()(()()((()))))))(())))())()()()))())((()()))((()(()))(()))(()())(((()))())()))())))(()()))))()())(()((())())())(())((((()(())()))()()))(()()))(())(()))))()()(())())())(()())))()(())())()(())())))((()(())((((()(()(((((()))())()())()))(()))(((()))(())))()))())(())))((((())()()()()))((()())()()(()(())(()()(()()(()(())))(())((())((()))()())((()()(((((()())(())()((())()()())())()((()((())(((()())))(())((()())()(()()))()()(())))((()))))(()(()()()()))()(())))())()))()))()(()((((((())(())()(((()))(((()(((()()()()()()())(()())))()))))))()))))()))(((())))()()))))())))))()())))))()())))(()())))))(())))))))()()(())()()()((((()(()(()(()(()()))))(((())())))()())))(()(()()())))(((())))(((()()()(())()))))(())()()()()()())))()()))))(())))(()((())(()())))())()()))()()))))))(((((()()(()(()))((()))))((((((()(()())()))(()()))()))())))))((())((())((((()))())()(((()))((()(()(()((())(()(()))(()(((((())()(())()(())())(((()))(()())(()())()(()()(((()(()()))())()()))()))(()())(((()()()(())))))))((())()((()()))((()))()(()()))))(()(()(((()()(()())()))((()(((()))())())(()((())))()(())()()(((((((()))((()())(()(())))()()(((()()(())))))))())())))(((()((()()(((()(())())())))))(((((((())((()((()(())))()))(((()()))((()((()(((((()())(((())(()())))))())))())()))))))(()(()(())((())()(()(()()()()((()))())))))())))()()))))((()(()()())))((()))()))((((((())())((()()())))))))()((()))()()))()()((((((()))(()))))))(((()())((()))()(())()()(((((())()()))()(()((((()))()(((())())(()((()))(())()((()))()()(()))(()()))((((()))((()((()((((()((((())(())()()(((())()((())(())(()))))()()(())))())(()())(()(()()()(()))((()()())))))()(((()((((()((()()()(()()()(())))))())(()((()((())))))))((()(())((()()()((((()())))(())())))()()((()()))(())((())((())((())()((()))))()()))))))))))(((())(((((()(()()(()()())))))((()())(()()()()(()))(()((())()(()))())))))(())(()()(()))()()())((((()(()(()))))()())))())))()())((())()))((()()))(()))))()(()))))))(()))())())())()(()()(())(())(())())())(()((()()(()((())((())((())())((((((()()()()))(())(()(())))(()())(())(())()())(()))))((()((((()()())(()()()())))))()(()))()))())(()(()))))()))(()()(())))(()(((()(()())(()()()())()(((())((()()((()((((())(()())(()()()))())((()()()(()(((()())())))()))())(()(((()(()))(())(((()()(()((()(((((()))(()))))()))()))()())(((())((()())()()())()(((())(()))((())())(((()()((()))((())()(()))()()()()(((()))))((()((()))(((()()((())(((((()))((()())))()())(()))()(()((()(()()))(()(()())(())()))(())(()()()((()())()())()))(((())((())(()()()())(()()))))()()((((()())()(()((())()())())))))))(())(((()(((((()(()()()()(())())))((())((((())))))(())))((()(()))(())(()(((()()))()()((()()))(((((((())(()()(()()()))()())))()()()))()((((()))()))(()()((())()())()))()())()((())()(()()((((())((()))()))()()(((((())))))))())((())()((()(())(()))(()((())))))())(()))()(())()(()(())(((((()()((())(()(())()()((()(((()((())(()()()()((((())((()(())((()()))()())(()(()(()()((((()()))())(()()))()()))()())))(()(()()(()((((((())(()()()))()())(((()((()(((()()))()((((()()()()()(())))(())()))())((((((()())())))))))))(()))()))()()(((())))(()))()((())))()((((())()))))((()())()())))((()))())))())))()()())()))(()))))))()())))))((((()()()))((((()()()))()))))))()((()()()((()()((()(((()))()())(())()())()))((((((()((()))())((())(()((()()())))((((()(()((((((()()()())()())((())))()))()))()(())()))((())()(()())))))))()((((((((((())(()()))((())()))()(()()))())((()()))(()()(())()()()(((()(())()()))((()()()(())())))(())(()()))()(()()()()())))(()(((()((((()()((()()()))()())(((((()))))((()(((()((())(((()()(()()(())))))()()())())))(()())))())))))))(()))()()((())(())())(((()))()))((()())()(()(()))()()(((((()()(((())(())(()(())))))))()(()()))()((((())())(()()))()()))()((()())))(()))()())(((())((())))(()(())((()(())))))(()))))(()))))((((())()(()(((((()))(()()()))((((()))()()()(())(())(()((()))(()))()(())(())(()()((())(()))()))((())(())()))()())((())()(()))))()))()())(())((((()))()()(()))()()()))())))()())()()())(()))(((()))())())(()))()))((())(((()))(((()))())))(()))(()(((((()))((()()()((()))()))(((()())())))))))))())()(())((())))()(()))(())())(((()((()()((()))))((()((())))((()()()(()))((()()(((((()))))()()))())(())))((()()()))((((((())(((()))((())))())(()()())))()))()((()()())))(()((()()((((()(()))(())))))))((()))((((())()))((((((((((((()())()))((())()()()())((())(((((()())())((((()))()(()(((()(())((()()())))())))()(())())(((()())(())))()(()(()(())))(())()())(())((((((())())(()())())(())()(())()()))))))((()))))(())())))((()(()(())()(())()()))()())(())())))())(((())))((((())()()(()))())))(())(()(()))())(())))))((((((((()(())))(())((()()())()(())))())))))()))()())))()())))((((()(()(()))((()()((())())))))(()))(()())())))()(((())((())(()()))())((()())))()())()()(()())((()(()))(((()())()())(())()))))(())()))()((()()((())())()(()))(()((()))(()(()()()(()())(()))))(()()()))()()(())()()))(()(()((((()))))((((((()(()()())(((())()()(((()))))))))(())((())()()()((()(((((((()(()))()(()(()()))))(())))(((()(())())((((()(()()((()(()(()))))(()())(((())()))(()(()()(())()(((()))))(()(((()))))(()())())))(()())))))(()(()(((())(((()())))(()))())))(((())))))()(())()((())(((((((())(()(())))()(()))(()((()((()()(((()())))))))((((())())()))()(()(()())())(()((()(()))(((())(((())()((())))(()(())((())((())(()((()((((((())(())()())))))(((((()())((())((()())((()())))(())((()(()()(()))()((())()())()(())()()((()(()((()))()()(()))(()()()()))(()))))()()()))))))))))()(()((())(((()))(())(())()()((())))()(()))()())()))()))(())))((())))))))())))))()())(())(()(((()())()((()()))))()((()))()(()(((())))(())))()))(((()()()))))()(((()()(())(((()))))()(()))()(((((()(())()))())))(())()(())(()))()()(()))))(()(()())(((()()()()))(())())())((((())())()()()(())())()((((()())((()((((((())()))()(()()()))(()()))))))()((()(()((()((()()))(((()()((()(()))()((()((((()((((()(())))()(()()))((())((()(()(())(()((())((())(()(()())())())(((((()))))))(())))()(()(()))()()))((()()(((()))()()())))()()((((())()((())))())())()(((((())()())(()))()(()()))))(())()()((())))(()()()()))())))((((((()()(((())()))())))))(()(())(()()(()(())()))(()())())()(())(((())((()())))(((()))()())(()()(((()()))))))())()(()))())())()))))((()))())()(((()())))))())())()(()((((()))(()(()(())))))))()()()()))(()())((()((((((()()()))())))(((())))))()(())(()((()()))(()))(()()()((()())((((()())((()((((()())(()())()()))(())(()()(()))())))(()))))(())(())())()))(((()()()))(())()((())()())())))())))(())))(()(()())))())(()))))))()()))()))))(()()()())()(((())((((((((()()))()()()(((())(()(()())(()())())()(()())())(())(()()((())(())(((()))()()((())())(())))()))())())()(((((()(((((((()()(((()))()))((()())))))(()((()((())(()())())()(((()())))))(())(())())(((()(((((()()(()(()(()))())()))())(((()())(((((()))(())))())))))((())()()))((())()(()))()))))()(()(()()((()))()()))())(()(((()(()(((()(())((()()(()()))))((((()(()((())))))())(())))(())()((())())))())))()()(((())()()((()((()((())(())((()(((((()())))(())(()(()(()))(()))))))((()(()(()()))()))())(())())((()))(()((()()(()())()))((())))))))))))))()))((()()()()()))()))(()((((()))(())))(()()()()(())(())()))))(((())))))((()(((()())(())())((()()(()(()(((()(()((()))((((((((((()()(()(((())()(((())))()))())(())))(())(())())()((())))))()))()(()))((()()))(())(((())))((()()((()())))(())(()())()(())((()))()))((()))())(()))))(()))(())))))()()())))(((())(()(())(((()(())((())()(())(((()))((())((()()(((())())))))()))(()())((())((()()())())((())()(((()))))))(()))()((()((()()))))(()))))((()))(()()((())((())())((())((())((()()))))()())(()()()())(())(()((()(()))))))())(()()(()(()()()(((())))((())())()))(()((()))(()())(()()(()))))()((((())))())())())(((()))))))()))((()()()))))((()))))))(())())())))())(())())))))(())((()()())((())()((((())()()))((((()((()()(((()))((()(()()(())))())(())((())(()))())())()(((()))(((()(())(()))(())(())(()(()())))()((()()))))((())()(()())(()()(()(()((((((()(((((()())(((()))))))()))))()))()((()(((())())(()(()))())()))(((()()()(((((())()))()()()())()(((()()))))(()))(()))))(()))(((()))((())((((())(()()(()(((()())(()())(()(()())()())())))))()())((((((()))(((())())))))(()())(()()(())()()))(()()))(()()((((((())))()(()()()((((()(()(())(()((()()))()))(((())))()())()()()()()())(((()))((((())()(((()(())))))))))()((((()(()((((()(()((()(())(()((((()((()()()))(((((()(()()))))()))(()())()())(()(()(()()()))(()(()((((((()())(((()))(()()))()))()())((()(())(()())()((()))())(()()(()()))(())()(()())(()()()((()()((())())(()()(((((())))()())()()(()(((((()))))))(())))(((()((()(())(((((()))()))(((()())(()(()())))(()(()())))))()())))((())(())((()()(((()))())((())()())))()(()(()(())(((()()(())(((()(()))(((())((()()))(())()(())))))))()()))))())())))))))(())()(((()((()()))(()())()(())))(()(()(()))())((((()())())((((()(((()))()))((())()((())))(((())))((()((()()(((((())))))((((()())((()()(()))(((()))((()()()(()))()))(()))((()()))(()())()())())((()))()()()))))())(((()())((()()(())()()())())(()))((()()))))((()(()))()(((())()(()()))()(())))))())(((()(()((((())()(()())))()(((())())()))()()((()()))))()))))(()))()))))((()))(())(()(((((()())()(()(()()()()(())())()(()))())))((()()())))(()())(()()()(()())))))((()))(((())))))))))(((((((()())))())()((())))(()()(()))(())))(((()()(())))(())()()(()))(()(()(()(())(()()))(())())()(((((()(())()()(((((((((()))()())(()(()))(((()))()))()))))))))())()()()(())))(()()())))))))()(())(()(()((()))))(()()())())())(()())))))()()(()()))))(()(()()()()))(()(()()())))()))(())()))))(()()(((((()()((((()(()((())))())()()(((()))(((()(()(((()(())((()())((()(())(()))))()(()(()(()()(()())()())((()())((()))()()))())())))()(((()))(()((()()(((()(())()))()())()(())))())())()))()()(()()(()())()((()(())(((()(())())))(())(()(()(()()(()(()((()()())))(()((()()(())((())())((()()))()(())(()))())()((()((())()()())))(()))()((())()(()())((((()))((())()(()))())())))(((()(())))(()(()())(((((())))((((((())))()()()()(())))())(()((()(())))((()()()(()()((())())()()())()()))())())((((())((((((((())))())(()(((()(())(((()))))(()())(((()))(((((()())(())))())(((())(((((())))(()((())))(()())))(((())()(())))((()))(((())()))((()(()))())()())))(())(()(((()(())())))())))))(((()())()(()((())()(()((((((()(((()))))(()()(()(())()))()())))())(()))))))(()()()())(())())())((()()))))))()(())))))()()()(()))))(())()(()))((((((((()()(())((()((()))(())))()()(()))))))(()))()()))()(())(())((()))(((()()()()()())()))))))))()))()()()))))()((((((())()()((())()(((()())()))((()))((()()())))(((((()))))(()()(()))))(((())((())(((())))((((()(()))()()((()))()((()()()()(((((()())))())()()(()((((()(()((())((()(())()))()()()(()))()()())))((())))())())())()(())()()())((((()))()()(((())()())))))((((((((())((())()()())))((())((())(()())))((()()))))())()(())))()(((())((())()())()())()(()))()()(()))(()))))(()))(()))())((()())()())))(()())(())((()))(())()()))(()((((((()()((((()))))()))())(())))())()((()))()))))(())))(()()()))(())()((())()))))(())((()(())(((()))(()()()())()())))()()))(())((())())(())(()(()()()((()()))(())))))())())())(()))((((((()((((()(((()((((())(()(()((()())()(()))))()(())()()())((()()()(((((((()()))()(()))(()())))())((((()((()(((((()))(())(()(((()()()))))())(((())(()()()(()())()(()())(((()(()()()))))(((()(())((()()((()())()((((((((()))()))((()())))((())))))()((())(()))(((()(()(((()())(())))()()()))(())((((()())()((())))())))))())))((()())(((())))()(()(()())))(()(()))(()()))()((())()))(((())((()))()(()())(())())((())())(())()))()))))((((()()))(())((()(()(()(())))(())())())())()()))()(())()(())()(((((()()))(()(()((()))(())()()()))(((())()(())))()))))())))()))))((((()(((((()(()())()(())(()()(()(()())()(()))((()()()((()()())(((()(((())(((()(())((()(()()()))()(()(())())()))()(())))))((())(()))()(()((((()())((()(())))())((()((())(()))))()))((()))())))(()))((()()())))))()))()))(())))(())()())))()))))(((())))))(()()((((()(()()))(())(()()(()))))(((()()()()()())((()())))()())(())()(()))((()(((((((()))()(()))()(())))))()))))()())(()()(((()()())))(()(()))(()()()())()))((()(()))))()))))()())(((()()())((()(())))(()(()())))())(()))(()(((())(())())())))(())(()()()(()()))))()(()))()(((()()())))())(())))(((())())())(())()))(()())))(()(())((()))))()))(())))()(())())()))())((())()(())))())(((())())))(((()(((()()((())()())()()((())(()))()))))(()()(()))()()()()))()()()((((((()))))))())))))))())))))))((((())(())()))))))(()()((()()))(())(())()(())()())(((())))())(())))())((()))(()(())()(((((()()(()))((())))))(((()))(()))()()()())))(((()(()((((()())(()))))((()(((()()()())(()()(())))(((()((()))()(()(()())))))(((())(())))()))(()(((()))()())(())(((((()((()(())(())()()))(((((()()())))))((((()()()(())(()())())()))((())))()(()()(()(((()(()()))))(()(())((()(()()()))())(((()(()((()(((())((())())(()())(((())()(((((())()((())(((()()())()))))))())))))()))((())))))(()((()()())(((((()))()((())((((()((()())())))((()((())(())))))()()()(()()(()()))))((()))(((()(()((())(()(())(()((()()))((()()(()(())(()(()(((()())))(()())(())))))))))(((()())()()((()(()))(((()((()(((((()()))()()((((()))(()())())))()())()()((()()(((()()(()()((()))()()))()))))))))()))))((((())))((()()()()))(())(()()(()))()()((()()())((()))()())()())(()(()))(())))(())))))((())(()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

()()(())(((()()(())))()()()()((((()(()(()()())(())()()(()()))()()()))()())())(((())()(((())((())()())()(())()(())))()()()()(((()()()(()())))((()((())(())((()))))))())())())((()()(((()()()))(())()()))()()())()((((())((((()((())()))((()))())())()()((()((()))))))))((()((()))((()))())()((()(())))(()())(((())))())()()(((()())((()()))()()((((()()()))(()))))(()))()(())((()()))(())()((()((()())(()(()())()((()()())()))()(((())))()))())()(())()(()())()(())()()()(((())())(()())())()(())()(())(()((()()))())(()((())(((((())((((()((()))(()(()(())))()((())(()((())(((()(()())))())))))))((((((())())()()(()))((((())()((()((()(()))))(())(())()())()())(((())))())))((()())(((((()((()())))()((()((((()))))()(())()())()))()()()()()()())(()((())))))(())(())))((()))()(((((()(())(()(())))))())))))(())(((())))(()(())()((())()))(((((((())))())))()()(((((())())())())((()))()())((((((()())((())()))(()((())())(((()))()((()))))))))()))((()(()))))(())())((())))((())()))((()()())()()())(()(()((()()()))(()))(()))()((())())()((()()))()()(()())(())(((()))(((((()(()(((())()()()(()(((((((((((())()))(())(()(()(()((())(())))(()(()(())()(())())()())))(()(()))((()(()()(()()))((())())((())))))())(((()()()))())((((()))()(()))()()()(()())()()((((())()(()()))))())())(((((((()()(()()))))()))()(()))())(()()()((((((((()()(()()()()))(())))()))())(()(()))()(((((((())((())()(())))())))())()()))(())()())))))()()()(((())()()((()((()))()))(()(())(((()()))(())()(()()(((()(((()()(()(()(()())))))((())))))))((((()()))()))()))())))((()())((()))(()(()())()))(()())((((())()())()((()((()()()(()()))))))((()()))(())()()))(()))()()()(((()(()))))())((()()((())(()()))((((()())()))())()(((())))())()((((((((()))(()(()()())()))((())(((()(())))())(()((()()((()))()()))()(()))(())()))))(()))(((((()())))((((()()))))(())((())))()((()()((()(())))((())(((())))(()())())()((()()(()))()())()((((()()()((((((()))(()(()()())(()))()(()(((())((((())((()((())()(((())))(())())))((()))())))((((()((()))())()()())()())))(()()))())(()())((((()))))((((((()))())((((()))(()((()()((()))()()()))(())()()()((((()()())()())((()))((()))(())(()()()())(()(()))))))(())())((((()((()))(())))()(()()((())((((())()((()()()()()(())))(())(((()()(())((()((()(()()()())))()))()))))))(((()()))))(())(((())))())((())(()((()((()()))))())()())(((((()(((()()()))())((()))((()))))))(((())((()((()()((()())))(()(()((())(())(((((())(())))())))(()))())))(()()(())((()(()())))()))))(())((()((((()))))(((((((()(()()(((())()))))((()()()))())(((())((())))))((()(()))(((()(((()())))))()))(((())(())))()(()((((((())()))()())))())))))(()()(())(()))()())))))()()((()(()()())()))()((())()()))(((()))(((())))))()))())(()((())()))(())))((((((())))(((()((((((()(()(())(()))()(()(((()))())(()(((())))())()(()()(()())))()))((())())()((((((()(()))))(()(((()())()((()())())))())(((()))())(())())(()())()))())(()))()))))))((())((((((()(()(((())))))((()))))((()(()(()))))(()))()))())()))())((((()()(())()))(()())()())((((((())()))()()())(((((())(()()(()()((()())(())((()()((()((((((()(()()(())(((()(())()((())))())))(())(()()((())))(((()()()())())(((()()()()()))))))))))()()))(()(()))))()))((((())(()(()()))(())()()(())()(()((()(()()))()))())(())())()((())))())()))()((())(()(()))))))())))))(()())))))()()((((((())))((()))))))())(()))()))((())(()())(()()))(()))((()))))(()()))()()()(()()()(()())()()()())()()()((()()(((()))()(()()()((((((((()()))(()(())((())()())(()))())()()())(()(()(((()((()(()(((((())))()(()())()()()))(()()((())()()())(()(()(()())()(((()))(((())))))))(())))()))(())((()())))())()()()((((((())))))(()()))())((()()(())))))))()(()))))()()))(()())()(((((()))))(())()(()()()())()(()(()(()(()())))((()))()(())()()))()((())()(((()((())))())(()()((((((((()))))()))()))()()(())(())()))((()(((()))(((((()((((()((()))))()))()))()(()(((()()())(((((()(())()))))(()())((()))(())(((((()()((((()(()(()(())()(()(((()((()())))()())(())())()((()()))))(()()()(()))(()))()(()))))())()))))((()((())()(()(()()())()((((()(((())))()())(())))))()((()()))()((())((()(()()(((()(((((((())((())()(((())((()(()((((()((())((())))()()))(())()()())))()))(()(()()()()))))())(()((((()(()(()))())))())(((()()(((()())())()()((()))())()()())()(((())))(()(())))((()(())((()(()()(()()))())(()()()()(((()))))()(()(()(()()))()()((()()))))()()))()(()(()(()))())((())())()(()(((()(((()(((()((()(())())()()()))(()(((((((())(())))(()))(())()(()(()(()((()()((()()()(((()())))())((((()()))(()(((()(()()()(((())))()(((((((()(()(((()))((()()()(()((()))(((()(((((())(()((((()()((((()(((()))()()()(()(()))((((())))))((((((((((())()())()()((()((((())())())((((())))(((()())())()))))(()()(((()))()())(()())((()))(())()))())())()()()()()()))(()((()(())()(()))()()()()())((()()(()())(()(((()())((()(()(((((())(()((()))()(()(()()(((()))((()(((())(())((((()())())))(()))))()()())((()()))()((()())(())(()(()(()(((((())))))))))())))))((())))()))))()))()(((())((()))(((()()))(((()))(()()(()()((())((()())(((())))((())((((()(()()()()(())((()((((())))())()(((((()((((()(()))))(()()())((()))(()()((())()()())()))))(()(()))))())())()(()()()))()((((()((()((((((()(()(()())(()(()()))()())))((())(((()())((())()()))((()()()())((())))))())()())(())))((((()((())()()()()())))()()((((()((())(()((()((()()())()))))))(()(((()))))))((()))()()((()((())(()))()())()()))()))())((((()()()))(()))()))())(((())())()))(((()(())())()(()((()))()(((((())(()()())))((())(()())(((()()()))(())(()(())()(()))(())()(((()(((())((()))((()))((()((()(())())((()())))()())))((()()(((()())))(())((()))(())))((()()(())()((()()(()()))((()((((()()))))((()()))()((()))()())()())(())()(()(()()()())))())(())((()())))))((()()(()()()(())))))()((())))(()((((()))(()(((())(()))((()())))()()((()))()((())()(())((())((()()(()((()((()((())(())))()))(()(((()())(((()))(())))))(((()((()()))))((((()(())(()()((((((((((()()())()()())()(()))))()(((((())((())())()())((((())))(()(((()(()((((()()(()))())()()))())((((()(((())())))(()))(()())))()((())))(()(())(()((()((())((((()())()((())(()))))()()(()((()()(()))((()))))((()(((()))))()()(((())())(((())(((((()())()(((())()))))(()))(())())()(()))))((((()()((())(()()()()))((((()((()()((())(())()))()())()(()((()))))(()()()(()())()()(((((()())((()(((((()()(()))()()))(((()()())(()))())))((()()()((())())((((()((()(())()(()))()(((()))()()())())))()))()))()())((((()())(()())))))))))((())(((()()(()())()(())))()))))()))))))(((()))()()()))(()()(((((()()))))()))))))((((((()((())()))))()()()))(((()())(()(((()(())()((()(()()()())())))))()))))(((((()())((())(())))())()(())())(()()(())(()(()((()(())))(((()((()(()(()(()(())(()()())(())))((())(()())))()())))((()))))()(((())((()(())))(()))))(((()))))()(((((())))())()))()(()((())))(())()))))((())((((()))(((((()))))))()()())()(()()))))()(()))()))(((((())())))((())()(((((((()))))((((()))))()))()()()()(()(((()())))())())(()(())()())())))()())()))))((()(()))()))(()()((())())()(()()))((((())((()((((()))(())()()))()())))()()(()())()((())()()((())((((()((())((((())(((()()())((()))((()()()((((((((()((()(((((()(())))(())))))()))(()())())()()))()()())))))()))(()(((())(()()))))()(()((()((()(()))()()))()((((()()()(()))())((()()()((()()))(((()))))(((()((()()())))()(((((((())(()(()(()))()((((())()))))))())))))(()()(()))((()))))(()(((()()(((()))()())(()))))())((())()(())(()))()(()((()())))((((()(())))))()())()()()))(()))))))()))))))(()())((((()(())))))))(((()()(()(()(()))())((((()()(((()(()()()()()(((((())()()(()(()())()()((())(()()()(()()(((()(((()(((()))))(())(((()))((()()()()()())))(())))(())(())))))))((()(())())))(())()(()())())((((((((()((())())(((()()()(()((((((((()()()()))())()())((())()())((())(()(())())(()((()(()()()))))())()()((((()))())((()((()()((())()(((()()())(()()((()))())(()()())())((()(()((())())(((())(((()(()))))())))(()())))((()))())()()())())(((()()((((((()()(())()()(()))))))())())()(())((()()())(((()((()())((((((())))()()((()))())))((()(()))())))((((()())()))()()(()(()(())))())(()(())(()()((())())))((()())()())))(((())))))(()(()()()(((((()())((())())((())((())()))()((()()()()())()))(()))))(()))()(())())(((())(()((()()()))))()((()))()))))))((())((((())))((())()(())()()))((())((())((((()()))(((()()))((())((())()(())))((((((()((())((((())()))))()()()))())))())((())((()())(((())()(()())))()())))(((((()(()((()(()())(((((()(())())((()()))(())))())())()()(()())()))(()(()()())))(())))(()))(()()(()((()()()(()())(())(())()))(()))(()(()())()(()()()))))))(()))(()()())))(((()(((((())(())))()(()(()(())(()()()))(()()()(()()((()()())()))(((())((((((((((()(()())))((()()((()(()()))())())))))()((()()()())))))))(((()()(((())())((()(())(())()()((((()()())((((())()()(()))(()(())))(()(((()()()((()(()((())))))(((()(()((()()())()((()()((()(((())(()))))))())()))())))))(()(()()()()))(())))))))(((((()(())(()))))))()))))())()))()(((((((()(()(((((())))(()()((()(()(()(())))))((()(((())()())()))(()(()(()()))())()))()))))(()))(())((()()))((()())))(((()())())())()((()()(())(()()((((((()(((()()(()))(()(((()(((()((()(((())))(()()(()))())(())))))((()(()((((())()())()()))))(()()()(())(((()())(((((((())(()))()())))())())())))())())((())(()((())((()))))))()(()())((()))())()()))(()()(((((()(()(())((()())))(()()(())())(())(()(()))((())()((((((()()()))(()()(()))(()())())())))()(()()()(()()))()()(())(((()))(()())()))()()())()))()()((())())()()(()()(())((()()))())((()()((()()))()))((()(())(()()()(())(()))))(((()()()))(()()(()()((()(())()((((()((((()))))(()())())()))((()))))))(((()))))(()(()()()))((()()(((((()(()()())))()))()))()(()()((()())))()()(())(())((((()))))))(()()()()))()())())()())())()())))())()()())((()))))))(()))))))()()()()()(()()))((())))())(()()(())))))(()()((()((()()()()(()((()(((((()))))(()()))()()()()))())))))(()((()(((((((()((()))()((())))(())))))(())))()(((((()(())(()())))())))(()((()))()()))())((()()))))(((()(()())))(()))())((())))(()()(())()())(((()()))()())()()(()())))()(()()))()((()((()()()()())))((()(()))))))))((())()))()((())(()()))(())((())()())()))(((()(()((())((())(((())()((()()))()()))))()())))()(())()))()(()))))((()))((()))()))())((((())))()()))(())()())))()((((((()(())()()((())()()())))(((())()(()))()(()((()))(()()(())())(()((()(((())(())))))))()))()())(((()())()))(((((()(((())()()))(()())()(()()))((()()))(())((()()(((((())()))))((())(())()))(()())())(()())))))))))()()())()))((()))))))())()(())()())))())))))))))(()())())(()))(()()))))()()))()()())()((((()))((())(((()(()(())))))()()(())(())()())))()()()()()))))))))((()())(((((((()))()((())((((()))()))(((())(()((()()()((())((((((()(()(()())))))())()(())()((((()(()(()())))()((()((()())())))(()))())))((())))()))((()()))((((()()(()())(()))())())())))()()((()()(((()((()())())(())))())))(((()((()))()()(()))())))((()(()))((()(((()(())())((()())())(())()))())))()((((()))(()(()(())(()))((((((()()))((()()())))((((())((()()(()))))())))()()(()((())))()()())(()((()(()))))(()()))()((()()((((((())((()))(((((()()(()))())))))((()))))()()()()()))()(()))))(()()())(())))()()((()))()())((((()))((()()()))()()()(()((()(((()(())(()()(((((()((((((((())))()))())((()((()()))())))())(())))()))((()))))(()((())))))))(((()))())))()((())))))))()()(())))())))((()))(())((((()))((())())()()()(((()()()(()(()()))((())()(())(()((()(()(())))()))(((()(()())))())())())()())()()(()()()()(()()((())((((()(()())())(()((()(()))((())))(()(()(())(())))(())((()())(()(()))))())()))((()()))())(()()()(((()))))(((()))(()(((()())((()())))))())(()()(()(()()((()))((((())))()))))()(()))))(()()())(())(()(()(()))))(()((((((()(()))(((()()())(()((()))(())))()()(()(()((()()()()())())()((((()(()(()()(((()(((()((((()()()()(()((()(()())((())((()())(((())()))()(((((())))())()()()))()(()(())()))(()()))()))))(()))(()(()(())(()(()(((()())))))()()())(()()()))((()(()()()((((()())()))()(()()(())(((())))())(())(()))(((()(((()(())((())()()())))))()()(()((())))(()(())(()))))))()))))()()()))()(())((((())))()))()))))()())()))())(()()()((())()())))))()(((()())(((())()))()((()()))))(()(((((()))((())))(())()))())(()(())))(()()))(()()))((()(())(()()(())))))))())((((())((((((()())))()())((())(()))(()(())))))))(((((((())((()())))())))()())((()(()())(((((()))()))))())())((((()((()((()(((((()))((())(((()(()()(())())))()(((())()))))))())((())()())))()))()()())())))()((()()()))))((()))(()())))(((())((()()()))()()((()()()))()))(()))(()()()))))(()()))()((((()(()()()()()))(())()()((())))))()(((()())))((())()(())(()(((((())(((((())(()(()())())(()))())((()(((()(((((()(()(((()))())(((((())((())(())((()()))(()))(()()((()()))(()(((()))(()(((()()(())()())(((()))(()(((())(()()()))))((()(())()()()())()()(())(()(()()((())))))()))(()))()(((()(()()()()))(()()(((()())(()()()))()()((((())((()))))())(())()))))((()))())()()))((()((((((()))))))(((()))())))()())(()))()()(()()((())(()(())(())(())((()((()()))(())(())((()(((((()(((())))((()())((((())()())(()(((((()((()())(((())(((()(((())((((())(())()()))((((()((((((())(((((()())))))((())()())())())()()(()()())()(())())(()(())))())(()()()(((()())()())))()(((()))()()))()))((()()(()(()()())()())))()(()))))(((())())((())))(((())))))()((()((())((((()()))()))()()))))()(())(((())))()((()()((()()))(()))((((((())(((()()())))()())(()(())(()()(((()()()(()()()()(())))(((())(()()()(((()()(()((()((()()()()()))))((()(())(())((()))())((())))())()(((())((()))())))(((()()()))()(()))))(())())(())())()(())())((()(((((())())()())((()))()()))()((((())()()(()(()(()(((())))))()(()))))())()(()(()))))())(((()))()((((((())))(()()(())()))())()))))((())(((()()())))()())())()())(()()()))(()(()()))(())(()()()(()((())())()))(()))))))(()())()()())())))(((()()(()))((())))))())())))))()((())))))()((((((((()))((()((()))))(()())((((()())))))()((((()()()()))((()(()()))))))()(()()(()())()(((())))))))(()()(())(())()))))(()((()))())())((())))))(())))()()(())()()(()))))))())((())((()(((())()))(())())()()))((()()))())))())())())()))()(()()))(((()))))(())()()())())((((()))()))((()))(()()))()((())()((())))(()(()()(())()(())))(())(()))(()))))))))((()))()(((())(())())())())())(()())())()()())(())(())))))(((()(()()()))))))())()((((())(())()()(()()((((((())(((()()()((()))())(((((()(())()))))()))()())))))(((()()(())(())))())())))(())()())))))))())(()))())(())(())()())))()((()()))())((()))())(())())))(()))()(((((((()))(())((((((()((())))())())((()))()))()()(((()(()((()((((((()))(()))())(()()(()))(((()()))()))(())(())(())))(())()()())((()())())()()()()((()(())))())((()))(()())()()(((()()()(()()))))(()()))((((((()((((()())(()))((()))()))(()((()))())())))()((()((((()(((()())(((())()))(()()(()()((()))(())))()))))(())((())()(()()(())()))()((())))(()())(()()))()())()())))))(((()))(())()(()))(()))(((())())()))())(())(((()())(()())(())(()())()))((())(((((()))(()((()()))((())))(()((()((()(())))(()()(()(((()))))()(())((()(())((()()))(()()))))(()()()))()(())(()(())(())())()()))(()()()()((()))))(())())(()))()(())((((())())))())))))))))(((()))))(()))()))((()(()((()())((((()(()(()()((()(())()())())))))())))(()()())()()((((())()((((()()))()(())()))()()(((())()))))()()((()))((())((()()))((()))((())((())((()(())(())(()((()())))))))((())((()))((()((()((()))(())(()()))(())))((())))(()()()()((((()())))()(()((()())()(((())(()))((()()()))(()))()()()))())()))())(((((()(()(()))))())()(()))((()()))))(((()))))(((())())))())())(())))()))))))(()))))(())()((()))(())))))()())(()()))((()(((()()((((())(((())))())))()()))))(((()((()(())((()((()((())())((()())))()((())()(()))()())()))(()())))())(()(())()(()())()()()())(()(((()(((((())())(((()(())()()(()()()()()()()()(((()(()()(((())()())())()))(()((()(()))(())(((())())()))(())()())))))()())))((())(())()(((()())))(())(())(()())())))(((())())))())))()((()()(())()(())())())(()(())(()())()())(((((((()((()(((())()(())(()))())))((()(()((())()((()(((())()(())()(()(()))(()))))))())())(()((())())())())())((((()())))))())())(()()))())()))))))((())()(((()())))((())))())(())())))((((()(()()))((((())()()()())(()))((()))))))(())))(((((())))))()))(((()(())))((((((()((()())))()))))(((()))))((()))((()((()))))((()))(((()((())())))((()())())()))(()))())(()(((()()(((())())()))))())))()))()((()(()(())))(()(()())))))()()(((()))())))(((()()()()(()(())())()))(())()((())()))((())()(()(()())(((()(((())(()))))()()))))))))((())()(()()()()())(()())(())()(()))()()))((()())()((((()())()(()(()()()()()(((((((((()(())())))(()))()()()))()(((()(()())())(((((()(()()(()((()()(())((()()))))()()))()))))()))()()(()))()())())((((())(()()(((()(((()(())))())()))(()(()()))(()()()(()(()()))))(()())))))))(()(()))()())())))(()()()((()))(())(())))))()((()((()(()(()(()(((()()(((((())())()))()))(())()))()())(()()()(()(((())))()()(())())((((()(((())((()(((()))))(()())()))))((()()()()))))(()()(()))()(())((()()(()()())())((())(((()()())(())()))()(()))))(()()()))))()(()())))))()(((()))(()(())()))((())((())((((()(())(())()))(()))))(()))(())))(()(((())()((()()()()(()))())((()()(()(()))()()(()()(())))))()()))))(())(()))()()()((()))()()(())()(()((()(()))()()()))()(((())))()()((((()))()())())(()((()())(())))()()()()(())((()()((((())))))()())()()(((()()))())()()((((()())(()((())(()(())())())()()(())())))())((()(()()(()(((((()((())((()((()((())()(()))(()(())())(()())()))(())))()((((((()()()((((((()(()(()()))()))((((())()())(((()))(()))((()))((((()(()(((()))())(())((()))((())()))))((()(()())))((()))(()))((()))(()()()((())())(())))))())())())((())(())(((((()))((((())(((()))())()((()())))))())(()))(()))((()())))))))(())))(()((()))(((((())()(()))((())(()))))(()(()()())))))()()()(())))(((()))((((())))()()))(((()))(()()(((())()(()()()(((((())()))(()()())(()(()))))()(()())))))(()(())))))))()((()))(((()))()()())))((((()(()(((()(()(()))))())(((((((((())(((((())((()())())))(((()(()()(()))))())()))(())))))))))()())((((((()((())((()())(((()((()((()((((()())))())()((()((()()())(()())())())(((())(((())((()())())(()(())()))))))))))((((()(())))(((())))))))()()))))))(()()()()((()(())()()(((((()))()()(())((((())(((()((()))))()()((()(()(()(()((())((()((())(())(()((((()()())())(()(()))))()))())))))(())(())(())))(())()())(()((()((())()))())()()))))(()))())((()()))))(())()))(()((()(())))))))))((((())))()((()()()))())()())()))()))(()()(()((()))())(()()(())())()((()(()((()())()(()()(()(((())(()((())(())))(()(()())))(()(()(()())(())(())()())()(()))())()))(()(()))))((((((((()())()()())(()(((())())))))))(()))))()))(((())))()(())(((((((())((((()))))(((((()()))))((()()()()(()()))(((()()(()())()))(()())))())()()(())((())()))()(((()()(()))((()()(()))()((((()))()))))))))(((()()))()))(()()))((()))(((((((())())()()()((()()((((()))(((()))(()))))(())(((((()))(()()((())())(()(())()))())(()))(()()()(()()(((()(())()(((()())(()())()(((())()))()()))(((())()()(()((((()))((()()()(()))(())((()((())()))()))((())()((((()(()()))((())))()()()(()())()))((()))(()()))((()))()())())(())())((()))(()((((()))()))))))(((())()((()()(())()(()())()))))))))()()((())))(())))(((()(())))())(((()(()()(((()((()(()()(())))()()())())(())))()())(()))(()(((()(()(())()(()((()()(())))())()))((())))))()((()((((()()())(())))()()(())(()()))(())(((((()()))()))))))((()(((((((()())))))()())()((()))))(()(()))))()(()))(()))))((()()(()(((()))(((()()())))(()))())())(())()))((()))()(())((((()()))()()())(()((((()()((()(()()))))()(()())()((((())))()))(((())((()(())((()((()((()()(())(()()((((())()()((())()))()))((()))(((())))))(((())(((((()(())))((((()()()))))))())()((()))(()))(()())))(())))))()))()((())()(())()())())((()(((()()())))((()((((()((())((()(()())((())))(()(()()()))))))()(()))())())))))()()))))()((((((()))()()))))((()()))(((((()()(()))))))()()((())((()(()(())(((((((())(()))(())()()()(((((()()))()()()(((()))(((()()()((((()())())))()()())))())))()))()(()(((()()((()()())(()))(()()(((((()(()()(())()()(((()((())()(()((()(())((()()((()))()(()(((((()())((())())))((())()((())(())()()()()()))(((())()((())()()(((())((()()))))))(())((()()())())(()())((())(())(()()(()))))()(())())()(())(()())(((())(((()))))(()(())(()((()()(())(()))))()(())))()())(()()()(()(())))(()()))())())())(()((((()(()())((()(((((()()))()()()(())())())(())((()()()()(()(()))()(((())()()()())))(((()(()()())))()(()))(((())((())())()(())()((()(())())((()))))()((((((())(()(((((()()()((()(()))())(()()(())(())())))())()()())()))))()((()(())()()))(()()((()())()(())(())())))))()))))))(())))((()(())(()))(((()())()((((()(()()))(((()())))()((())(())))()()))()())(()(())))()(()(())(((())()(((()()(())(()()((((((())(()()()()))))((()())()())()()(())(((())(((())())((((()))())))(((((((()((()))()((((()((((()()(())())(()))()))))))))))))((()())(())))(()()()(())(()()((()())(()))())())(()))))))()()(())))()(((((())(((())))(()()(()((()((()()())))(()())(())(((())))(()))((()())())(())(())((())()())(((())(())((())))(((()((()(((())(()(()(((()))())(())(()()()()(())))))))())()()))())()(()()())))(()((()()(((()()(((()))()())))()()()()(()))())(())))())(((()))((()))))))())(((()())()(())))))())(())())((()()((((()((())))((()))()()))(()())((((()))())())))))())((()))))((()(((((())))((()()(((()(()(()()((()(()(())(()()))()(((())()()((()((((()(()())()))()))(())))()((()))((()(())(())))))()))))())(())((((())()()()()()((())))))()(()(()))))(()(((())()((()()()(()())(()())((()()()(((())))(((()())()(((()(((())(()(())))()()(())))))()()(())(()()()()()))(())()))()(((())())()())))(())((())())))()()))(()))))(()()())(()((((()(()()))))))()))((())))()((((()((())()))))()(((()()))(()))(()((()()))()()(())))())())())(()(((())))()()))((((((((())())(()(())((()((()))))(())()))((()(())))))()()())))))(((((()((())())(((())()(()())))(()())((()())))()))())(())()))))())())))())))((()()((()())))((()()())))))())(()()))()())))())((()(())(())(())()(()()())(())())()(()()))((()()))()(())()(())(()()((()()(())()()))()((()()())))()()()()()()(()(()(())))()()((((())()(())))()(((()(((()(()(((())())))(((())(()((()())((((((())()(())(()))()))))()))()(()((((((())()))(((((()))())())(()()))())(((()(())()(()()((()((()(((()()()(((())()))((((()((())()))))))()(())(((())(()))(()(()(())(((()))((((())()(((()))())))())(((())())))))()))())()((())()))()()())()(()(((())())((())(())))(()()()((())(()()))(())()((())))())()()())()(((((((()(())((())))())((()(()()))(()((()))()))(()()()()))))())())))((())()))()(()((()(())(())(((((()())((()()((()())(((()))))(()())))(())()()((()()())(()()(()))()(()())())())((()())())(()((((((()(()()(()()()(())(())))()(())((()))((()(((()())))()())(((((()()(()()())((()())()(())))())))))))))))))(()))(()(()))())(((((())())))((()(())(()))(()((((())))))())((((((()(()(()(())()(((((()()))()(((((()(())()(((()()()(((()(((()()))(()(()((())())))())))()()))(())()((())))(())(()(()())()())())))()())()(()()(()(()(((((()()((((()((())((())(()))()((((()()))((()))(((((()()((((())()))(((()((()((()))))(((()()()())(((())()((()()())()))())(((((())(()())(((()))()(())()))(()(()()(()(()()()())())()())(((((()())()((((()(())()))))(()())(((())(()))())())())))())(()((((())((()))(()))()(())()()(((()(())))(())((()))(())()(()()(()(()())((((((((()(()(()()(())))((())(()(())()))(()()))()()()()(((())))()((()((((()))((((()()))))))()(()))(((()())(()(((()(()()((())))))((()()((()()()()))()()))))()())()()()())()))()()())())((()()))))())(())(()()(()))))))()())())()((()()()((())))()))(()()))(((()(())()))()(((()())(((()(()(()))))(((((()))())))()))())()((()())()()((()))()()))()()())(()()(()())())()(()))()(()(())(((()))((()(()(())()())(((()()((()()()()())))()))(()()))())()()))()())())(())))())))))(())()((()()))()())(()())((((())()))())(()))((())((((()())((()((())())())())))))))()()())()((((((())()((((())())))(((()())()((((()))()()())()(())(()((()))(()((())(()))))()())))(((()()()(((()()(()((()(()()())(((()))))(((())(())))((((()()((()(())()((()((())())))))((())(()(()()(()))(((()()(()())(())))))()(()(()))))))(()())))((()())(())()()((()))))))))((()())(()()()()(()())))(((()())((())))())()())((((())()((((()())(((((((())))())(()(((((()()()()(()()()))())(((()((()())(())())()((())((())())))()))(()(((())())()(()((())()(())))()()()))()()()(((()((((())(()()()))())(()))(())))))(((()))))())()(())))()()(()())(())))()()(((())(()(())())))))())()(((()()(((()))))()))))()()()()))()))()))()((()))())(()(()()()((()((()(()()((()((())(()()))((())()))(((((()(()(())()(())()))(((())()(())))(()))()()(()((((((()((()()()(((()))))())((((()))(()())))())()()()()))(()(()((()())()()(())(()(()(()((((()())()((())((()))())(()(()())()))(((()(()))(()))()()))))())))(()()(()(()()())())))((()))))(())(()()())(()()(()()()(())((((())()((()((()()())))(())(()((((()))))()))))()))))(((())((()()()())))((()))()())()((()))())())))))))))))((((())))(((()))))((((((())))))))()))))()((()((())()(()(())))()))())))((()(((()(()(((())))()()()(()()(())(((()((((()(()()))))()()())())(())))()())()))()()(()(())))(((())((()))))(((()))(((())))()(((((((()()))()())()(((((())))(())((((()())())(()))((((())()))(((()))))(()((())((())))()))))())(())(((((()))))((((((()()))((()()(((())()))(((((()()())())()((())))((())()(()()(())(()()())))((()))((()))(())(()()()(())))))))))(()((())())))(()())((())((()()()))(((())()))(())((()))()((())()()))()())(()))()((()(()))))()))())(()(((())())(())))()(()()()(()((()()))))))(()())())()))(()())))(((()()((((()()())))())()))((()()(()()(((()()())))())(((((())(())(((()))((((())))))())))()())((((((())))())((()()(((()((()((())()((((())()))))))()))((()())))())()()((()))))(()))()))()(()))))))())))))(())()))((()()(())())()()()()()()))()())))()))((())(((((((()((())))(()((())(())()))))(()(()))(()))())()))())((()()()))()(((()()()(())))(((((()(()(())(((((()(((())))))()(((())())))))()()(((()(()()()(()(())))))()(()))))(((()()(((((()()()())()()())()()()))()(()()()(()())()()((())(((()())()()())))()(((((((())(()))))()())()())(((()()))()(()))(()())(())((((())(((())(()(()((((()()))(((())))()(()((())())(())(()()(())(()(())(())()))(((())))(()((((()())()((()((((())((()())))())))())((()()())))()(())))))()))(()()(()()(((((()(()(()))((((()()(()()((())((()())))(()())())(()((()())()((()((((()()))))()))()(()()))))(())(()((())(()))()))(())())()()()((((()))((()()())((((((()())(()))()((((())((((()(())()(()))(()(())())))(()()))())())((()())()()()(())(()()()(((())())(())))())()))))((()()())))(()(((((()(())()())()()))))()(((())((()(()(()(())(()(())))))))(())))()(()()()))()))(()(()((()()(()(()((()((((((((((())(())((((((((()(()))()))))()())()))(((())))((()(()())(((()()(())))(()())))()))((()()))(()()(((()))(()((()())(((((()(())))()()))())())(())))))()(((((())()(())()))()()(())(()()())))()()(())))())((()()((((()()()())(((((()((((())()))))))()()((((())))()(())(()(())(()()(()))()(()()())()())(())()()())()((())((())(((((()(((())(())(((()(()()((((((()))())))((()())()()((()()(()()(((())(())))()(((()((((()))(()())))(())))((()))()()()(()))((()((((()(()((())((()))()))((()(((())))())(())((()))(()())()(()))()))(()(()())()())((((())))())))(()))()()())))()())(((()))))(())(((((((())))))))()()))((())(()(()(())()))))(((()))()()))((((())()(())))))(()))()())(((((())()())))()))()())))))())()())((()(((()())(())(())(((()(()()))(((((((()())((((()(((())(((())())((()(()((())(((()((())()()))(()((())()(()((((()())())()((()()((())))(((())()()(()()(())))()())()))())(()))()()()((()(())(()()))()()()(()())()))((())((()()))))))((((()((())()((()()))((()(()())))()(((((())(()()))(((()(()())(((())())((()))()((()(((()())()(()(((())))()))))(()))))((())())(((()(())))()())())(((()())(((()()))))))())()(((()))(())()())))))())())(((((()))(()((()())()()(())()))()))(()((((()))())))())))))()))(()(((())())())())()(()()))(((()()(()(())())(((())()))(((()()())())))())))))()())()((()()()(()(()()()()(()(((())(()()()))())(((())()((())()))))((()()(((())()(()()(()(((()(())(())()((()(()()))))((())))()))(()()))(()((((()()))())(())))()()(()))))(((())(()))())))))))))(((())))((())()(((())((())))((())(((((()())())((()))(((((()(((()((())((())())))))((())))()(()(((()()(()())()(((()()())))(()(()))()((((()(()())(()))()()((()()((((())()()))()))(())()()()(()(()()))()(())))())()(((())((()))(())))((((())(((((())))()()(()()((()))()()())(((((()()()(((()())()()(((()())))(())()((()())(((())())(()((()(())))())()((()(())())(()(((((()))(())(((())()())(((()((()(((((())))((()))())))()())()()(()()(((()()))())()))((())()(()((()((()))((()()()())((())(((()(())((()())())((()((((()())()()(((()(())))))())(())()(()()()()(()))(())()((()((()()((())()())())((()((()(()())((())))()((())((()((())(()(()(()))()(()(())(()(())(()((())))))))))((()()(())()(()((()(()))(()()(()))(()))())())((()))(((()((()))()(()()))))())(())))(()()()))))((()))()(())))(())()))()()(()(()())())((((()(())()()()()(())()())((((())(())()))((())((()))((()(())()))((()())()((((()))()())))())()())(()()())())))))(((()(())()))))(()())())(()))(())(((()()()()())())()()()(()((()(())(((((((()(((())(()())))()()((()())()(()))()()))(()(()(()(())())()((()())()))))((((())()))(((((()(()(()))()(((()()()(()()))((((())(()((()())((()))))))))()))))(()))))))()(()))))(())())()()))()(())()())))))(()(()))()(((())))))())())))()())(()))()))))()))((((())())())(((((((()()(((())((()()))()(()(((((((((()()(())))(((()))())))()((()())(((((((()()((()())))()(())((())()))))))(((((())(((())())(((()))))))(((((()((()())()()(()))(()(()(((((()((()())())(()))())))()))())())((())(()()))))()())()()((((()))()))((()))(()()(()(())))(()(()()))))()()())(()()((())()()))))()(())(()))())()(())())()(()))))()))(()())()(()(()())())())(()(((()())()())()(()(()()(((()())(()())())((()))))()())(()((()((()(((()))())())()(()))))()(()(((()(()()())))))(((()())()))()()(()))()()(()))()))(()(()))(()(()()(()))()))(()()(((((()))))()))((()((()))))(()))(())(()()())(())(())))))()(()((()()()(((()))((((())(())))()()))())((()((()())(()(((((())((()()()(()()))())))()(()()())()((()()(()))((((()()())(()((((()((())((()()))()(()((())((()()))))))(((()())()))))(())())(()))(()))))(((())))())(((((())()())))()(((((()()(()((())(((()())((()))(()(()()())((())(()()((((())(())())))))(())(()))((((((())))()(((((((((((((())))()))()(()()((((())))())(((((()(()((())()()))()((()())(()))))()(()))(()(()()((()(())()()((()()))())))()((())(()((()())(()))())())(())((())())))(())))))))((()(((())()()()(()()()(()(()(()((()()()((()(()())))(()()(((()())())(())(())()((((()(((()()((()()()())())((((()(()))))))))())()()))()((())(())(()(((((()(())))((()(()(((())(()))()((()))(()(((((()(((((()))())())(()(((())()))()()()())))))(((())()((())))())))))(()()(((()())())())))(()))))((((()(())()())()())))(()(()(((()()((())))())())()(())((())))(()())())()())((())()((()(())(()(()))())())((()(())((()(())()(())())((((())()))((()()()))(()(()))))((()()((((()))((((((()))((((()((())(())(((((())())))))(()())((())()((())))()))))()))(((()(((())))(()())()))((())))()((()))()()(()(())((()()())))((())(())(((((()()))()()())(()())))()())((()()()(())))((((()())()(()))))(((())((())(((()))()())()(())(()((((())((()))))((()()))()(())())))))(())()(())((((())(()))()((((()(()())()(((((()())))(())()))()((()))((()((())()()))()(()))()()()))((()()(((((())()()())()())()))))()()))()))))(()((()))()((()(()()(()()(((()(((((())())(())))((()())()((((()(()))(()((((())))()))(()())(())(())((())()(()())()())))(()))())(())((()()))()(()()(((())(())((()(())()(()))(((())(()((())))))())))))())((((((()((()()((()((())))(()()(())()))()((((((()))(((()(((()(((()()(())()((()()))(()(()(()()(()(()()()()(((()(())()())(()()()()))((())(()(((()(()))(())(()(((((()(()))(((()))(())))()((()()()))()(()((()())(((((()(()()))))))((()))())()()()))))()(()(((()(()()((((()((((())(((((()(()(()))()((()()))()())(()(()))()))()((()())(())(((())))((((())))((((((())()(()()))))((())))(((()()))(((()))(()(())(()()((())()(((())()()))(((((()((((((()(((())())((()()))()))))()()())()())(((()))()))))(((()))((()()))(()()()())()())())((((()))()())((()))((()(()))))))(()(((((())((())()(((()())(((((()))))))(()))())()))((((()()()()(()()())(((()((()(((()(()))(())((()()))(()()((((())()())))())()())))())())((()())))(((()))()()()((())())())))((())((((())))()())))()))(((())()((((()()(()()((()(())(())))))))(()()))()())())()))))(((())(()()((((((()))((())()))))(()(()()))((()))()(())(((())()()))))()()(())()((()))))()())()((((()))(())(())))(()()()))(()())))()()())((())((((()(()())(((()))))))()()(())))(()()())((()(())()((())(((((()(()))(()(())((((()())()))())))())))))()())))))((()))((()()))(()())()))))((((()(((((()((())(()(())())()))))()))(()(((())())(())()()(())))()))))((())((())()))))))())())(()))()()())()())))())((())(()(((()()())))()))))())())))(())()()))()(())((()(()()()(()))))(()()))(((((((()(()(()())((())((()(()))))))((()))())((()()))(((()(())()(()(()()(((())(((()((((()()(()))))((()((())(())))))))()((()))(((()((()()((())))))())(((((((())())))())(()))()((()()((()))((()(())(((()))(()(()())((()((()(())())()((()))((()(())(((())))()))()())))))))))())(()())())())()(((((((()()))()))(()(((()(((())()())(()(((()(()((()((()(())((()((()(((())()((()()(()())(()(()))()())())(())()))))((())))(())())((((()(()((())((())))))())))(((((()()))(())))()())())())))(()()(()()())(((())))))))()())))(()))(((()())(())))(()((()(())))))((((()(())())((()(()())()(()(()))()))))(()(()))()))(())))())())(()(())())((())(())())(()()))))(()()(())))()()()))()(())(((()))()(()())(()())(())(()(()(()))()()))()))(())()((()(()())()((())()))))))((())(()((((())())))()))(((()(())))(()((((()())()(((()())))))(((((()(())()))((()()()))(())()()()(())(())()(()())())(()))))))((()()))()))(()))(((()(()())()))())))()()(())())()((((()()(()))(((()()(((())(((()(())()(((()()(())))())))())((((((((())(()()()(((()())()())(()()))()(()()))))(()(()))())()(())()((((())))((())((()(())(()())(()()()(()(((()()()())((()())()))()()))()())()))))(())())())(((()))()())))))(()))))(()()((((())))((((()((()))))()(()())))())))(()((())(()))))())(((())))())))()(())(((((()()())((()(())))()())(())((())()((((()(((()(()(()())))()(())()(())())))()())))))()(((())()())(())()()()())())((()(()()(())((())(()((()))((((())(()))))))(()(((())())(()))(())(((()))())((((()))()(()()(((()))((())()))())))()(()((((((()(()())())()((()())(()))(()())())((((()(()(())))))(((((())(())((()()))())())())(()))((()()(((()((()))())))(()(((()))))(()()()()()))(())()())(()(()))))))())())())))(()(((()())()))))()(((())))()(()()))(())))(((()()()((())())()((()))))(()())))((()())))(())()))())()((((())))(()()()))))())(()((()((((()(())())))((())(()())((((())(()(()()())))))((())((()))())()()())()(((((()((()()()()()(()))()())))())()()))()())(()))))))(()()((())())(((()(())))))((((())())((())((()))()())()))(()(((((()()(((())))()(())))((((()()())())(()())()))()()))())))((()())))(()()()())(()))())(()(()()())(())(())()(((((()()(()())(())(()(()))(()((()))))))()))(()))()(()((()))()(((()))()((())()))))((()))))()))))))(((())))((()()(((((((())())()()))((()()(((((()(((()()()((())((((())()((()(((()))(()(()())((())()()()(()())()(((()((())((((())()((())(()())()()())()))))()())(((())(((()(()))(((()()()))))()())(()((((())()(()((((())))()))((())(()))()(()((()(((()()(()()))(((((((())()))())()()((())))(((((())()(()))))(())(((())))())(((()(()((((((()))(()()()(()((())))(((()())()))))))))())()()(()(()(())))()(()(()()(()((()(((())))(())())(())))(()(())))())()))(((()))()(((()))())((())(())(()()((()((()()))(())()()(((()))))(())())((())()(((((()((((()((()))((()))(()()((()((((()(()((())((()(((((())))()(()))(((((()()))(())))))))))((()())()()()()))(((()())(()(((()))(((()()((()(()()))((((()))(()((())()(()))))))())((()(()))()(()()()(())))((((()))()((()()()()(())))((()))((((((()()())()(((()(()(()())(())))())((((((()))))))()()((()()()))()))(()((()()())))))()(((()))))()()((())()()(((()()()()))())((((()))()()()))(()))))))())))((((()())())))((()())(((((()))())(()(())))()(()()))(()))))()))()(((()(())(((((()))))(()))()()(()()()((())(()()(())())(())))(()(((()(())()(()))(((())()()()()))())(())(()()())()(((((())))))))())())))((())))()()()(((())()()())((((()))))()()((()))()(()((())()))()(()((()()(()))(((())(())(())((()())))((()(())(()(()(()(((((()()())())())(((())))()(()(())(((((()))))()()((()((((()((())((())((()())))()())()(())()()())))(())))()())))((()()(())))()(())(()))(()(())((()))(((())))(()))())((()((())((()()()()))())))()())(()))(()))(((())(()())))())())()()())(()(((())((())))))()))()))))())(()((()((()))())))))())())((()((()))))())(())())())((())))(())))(()()()()(())())))(()))(())())(()(()(((((()))(())(((()))((())())((()(((()()((()))(()(()))())((())))((()((((()()()())))(()(()(()))()()()()()))))(((((()))((()((()))(((()(((((((()))))(())()))()()(()()()())()((((()())())))()(((()((((()(()))(((())())()())))()()((()))(()))))(()())))((((()()())(()(()(()()()(()(())())()((()())()(()()((())())()()))()((()((()(((()((((())())((()(()()))(((())(())()())()())()))(((())))(((((())))))))((((()(()()))(((())))()((())((()())((()(((()))()()((((()((())()()))())())())(()(())()))((()(((()))))())())(((())))()(((()))(((())(()(()((())()((()))((()()))()))((()(())())()(())(((((((())()())()(()()))))()))))()()))))))((())()())()))))()())()()()(())))()())))()()())())()(()()()((())((()(()(()((())(()))))))(()()(()(()(()))(())(())()))((((()))((((((())))())((())((()(())((()(())())()(()))))(((()((())(()((()))()(((())))(((((((())((()((()())((()(())))())((())()))))((()))))))))()())(((())(((())()))))()))))())((()())()(())()((()()((())(()))((())(((()))(((())()()))))(())()((()))()(()(()()())()()(())()())(((((((((())())))()()()())((((()))((()(()))()(()()(()))))())))(()(()))(()((()(((((()(()((())))())()))())())(((()))))(()(()()(((()(()())()))))()((())())(((((())))))()())))()((()))()(()(((()()()))))))())))))()((()(())))()()()())()(()))))()))))))))()())()(())()))()())()())))))))()(())(()()())())()(((()((((())(()))())())))())()()()(()))(()(())())(()((()()))((((()()()(()))(())()((()))())()))((()()))()())))(()((()(())(()))))()()()(())(()((()))(((()))((()()()()(()()(((((()()((()()))))((((((()((((())(())()()(((()()(())))(()())()())))(())((()(((((()(()(())))(((())((()()))()))(((()))())(((()(())((()(()((((((()))(())()))())()))(())())))))(())))(((((())))((((()()()()((((())))(())())()((()()(()()))(()())()))(())))(()())(()()))(()()((()()())(())((())(())()))(()(()(()())()))()))(()())((((()))))))(()(((()()()()))(()()())()(())()())))(()))(())()()((()())(()))))())())()())()()()((()((((((())(())((()))())()()((())()))((()((((()()(((()))))((()()(())))))()())()())(())))()(()()(()(())())((((())))))(((()(()())()))())(())()(()(()())((()())))((()()(((((()((((())()())()((()())()((()((((()(())))()))())))(((((()())(())()(((((()()()(()(((((()()(())((()))())))))(()()))())))(()))()(())((()(()()(())(())())()((()()))))())))((((()(()))((()))))())))((((()((()(((())(()))(())((()(((((((()))(())(()))()))()((((()()))))()(((((()(()))(((()))(())(()))(()(()))(()((((()())())(())))(()())()()()()))))()()()))()((())()()))()(()))()))()())))((((((()()()())(((()(((()))))))()()))(()))))()(()))()(())()(((((()())(()((())(()(()))((())(())()())))))()()(()((()(()))))))((())))))((())))))())(())(())))(()()(())())(()()((()((()(())((((())())())((()))))((())))((())))))(((()()((())))())))(()()())())(((()))))()(()()))())(()()(())))())())))((((()()(((())(()()(())((()()(()((()(((()()))()(()(((())()())(((())(((()()))))))())))))(()()(()())((((((()))()(()()))((((())(()()()())())(()))()(())()())))()(((((())(())()))(())())()()())()))((()()))(()))()))((((())))((()())())()()(()))))))))(()(()(()())(((()(()))(())(()(((()()(()())(((()))))()((((()))((())(()))())())()()))(()()((())))(()((())))())))()()))))))((()(()((()()))(()((())((((())))))())(()(()(((()(()())))((((())(()(((()())(()())))(((()())(()()())()()(((()())(()()(()()(())))()()(((()(()()()()())()((())(((())((((((())))((((()()))))()()((())()((((()()()))((((((()()()()(()(())(()()(()(((()()(())((((())()())((((()())((()()))(((())(((((((())))(()(((())()(())()(())))))(()((()))(()))(((()))))(((())))(()()()((()()()(())))))((((())()(())(()(((()((()((())()())(()())))))(((((()))(((((((((()))))))()))(()))((()())(((()))))((()())(())))())))))((())(((()((()((()))((()()((())(((()())()())())()()((()(())()()()))())()(()))))))))())()()((((()()(((()()((()))()(()()()(()(())(())()((((()))((((((((())((((((()())(()((()((()()))(((())(()((())()))()(())))((()))())((((())))()()(((()())(()())()()())())()))()(((()())(()())))(()))()))((()))(())(())(())(()(((())))((()()()())))))()((((()()()(())((())))))(())())(((()))()(()()(()())))((((()(()))(()(((((())()))))())())(((()((())))()(()))())(((((()))()))((())())((()))((((())((()())(())))(()()())))())(((((()))))((()()())()()()()((()(()()(())()()(()()()((()()((())(()())))()))()((())))((((())())(())()(()((((()()))))()(((()))()()))()))()((((((()(()())))())())()()()))(((()(()(())(()(())())()()())))(((())))()((((())))))())(()(((()()))))())()()))(()((()((((()()))))(((()(()()()())))))((()))))((((()()())()))()))((((((())))))()(((()(((()(()()))(()((()()()(((((())((()((())()()))()())()((()(())(()))()())())((()))))((())()()))(())((()((((((())))())()(()(((()()(()()(())()(()((())((((((())(((())((()()(()(())))(((((((()())((()()()))(()(((())))()))()(())()())(())()(()()))((())(())))((((((((((())())()()))()))()((()(())()((((())()(()()(((())((()()((((())((())((())()(()))())())))()()))()()((()(()))()))()))(())(()(()((()))())(())()(())))()(((()(((()))))(())((()()())(())((()(())()(()(()(()()(()()()()(((()(((()()))((()))(())((((()))))))(()))()(())())(()))())()())))(()())()))))()))))(())())(()))(())(()()())())(())()()()()())((())))(()))()(()()(()()()(())())())(()(()()()))()(()))))))(()((())()))((()((((((()())(()((()(((()(()()))))(((()()())(()()(((((()())(())()())())((((()))))(((())()))(((()()())))((()(()())(()())(()(()))(())))))(((()()())(((((())())))()()()(())))))()()()))()(()()()((()()())())(()())((((((())()((())))(()))((((((()())))(())())()))()())))))())(((((())()((()()()(((()(((()(()(((((()(((((()((((((()((()((()))))((((((()((()()())(()))())))(()()())(((((())(((((()(((()()()))))(()()()(()(((()))())(())((()()((()))))(()(()())())()()()))))())())((())()()((()))())()()((())()))(())()()()(()())((())))(()(())((())(()(()(())(()(((())))(()()(())(()())()(())(((((((())()()))()((()()()()))))()(()())()()(()()(())()()))())()())()))()))())))))()))))()))(()))))((())))()()))))(((((())(((()()()))((((((())))())()(()()()(())(()))))))((((())()((())())()()))(((()))((((())(()((()((((())()))((()(()()(()((())))(((()()(()))()((()))))))))()()((((())()()())))(()())(((((()()((()(())))))(((((())((()(()()))))(())))))))(((())()())(()((()((()(((())))()))(())(((((()()))((((((()))())()))(((()))()((()())))())))))))(((((()((())()()())((((()))(()())))(())(()(((((()()()()))))()())(())(((()((()(())(()))()()())()()()(()()()(())(()()()()()()())())(((()(((())(())(())(()((()))))()()()(()))(((()(()()))(((((((()(())))()))))()))((()())(()(())))()(()))(()))(()())))()()(())))((((()())((()()))(((()())))(()))()(()))(()())))))()))))))((()))))(()()(()(()(((()()(()(())))())((()()))(((()()())))(()))()((()(()(())))()(()()(((((((((()(((((((()())))(()(())((()))(()(())))))())())((((()((()((()())()(())())()()(()))))())))))))(()()()(()())))(((())()))()(()())()()(())(())())))())((())()())()()((())()()(((()))()(()(()))(((((()()((()))()))((((()(()))((()(()())()))(()))(((()())())))())(())))))))))(((((()((()(()())((())())((()()))))))())(())(((((((()))()))()())()))))(())((((())(())(((()())((()))(()()(((())))(())(()(()()))((()()())((()((())()))))(()())((())(((((()())()()())((((()(((()()()(()()(()))))))(())((()(()))))((()(((()())))(())))()()(()(()(()()(())))())()())((()()))(((()()(())()()())((((()))))(())(()()())()()))))(()()()))(()(())()))()((())())((()((()(()(((()()((()(()))()())((()()()(()()))(()))))))())()(()()((((()))(())((()((()()()((()()(()))())()()))())))()(((())((()()(()(())(((()()))()()((())))((()()((())(()))((((()((()))(()(()()(()))((()())((())((())))()(()(()()()())())))()()((((()(()()())))(()()()())))(((()))))((((()))()))))((()()))((()((())(()))))))()(((()(((((()))((()()))))(()()(()(()(()()())()))()((((()((((())())))(()((()(()))(())(())((()()(())((()(())()(())((())()()()()(((((((((((()))))(()()()()())()))))())()(()((()()())))(()(()()((()()()((()))((()((()(())(((())()())))))((()(()()()(((()))(())))(()((()))))((()()())((()((((()())(((()(()(()()))()()())()()())(((()()(()()(()())))))))())(()((((())()(((()()))()(((()(()))(())())((((()(()(()))()()))(())((())))(((((())()(((()(((()((()()()(())((()((())))()()(()((()())()))()()()())(())(()()))(((())())))()))(()))())))(()(()(())))()(()))())(()((())))))))()))(())()(((())))()(()(((())())(((()()())()()(())))(()(()(())())()()(()()((())((())))((()((())()()((())()())))))())))(((())()())(()))((((()(()()()())()))((())(()(()(()((()))))()(())))())())))()(())))())()()())(()(())(()))(((((()()))))((()(()((()())())(()))()))((()(()())((()(())))))(()()(())))(()))())))(()(()(()(()((()((())(((())))))))))))(((())))))())))()))))()((()()))))()())())())()))))))()()))()(()((((((())(()(((()()))(())()))(())())()((())()((()()(()))))())((()(()(())(()))))(()))(()()))((((((())())()((()(()))())(((())((()())))()()))()(()(())((((()())((()))()(())((((()((()()(())))(((())((()())(()())(())()))))(()))()()(())(((()()())()))())())))((((((())))()()((()))(())())()(((())(()))()(())()))(((((())(((()(())(((())()((()()())()()()())((((())(())((((()()())(())))()()))))()(()(((()()()()))((())))((()))))()((()(((((())))()))(((((()())(())))((()())))((()(()(()(()((((((())))(((((())())))(()((((())()))((())(()()())(((())())()()))))))(()()))))((()()))((()))()(()(()(())(())()(((())))))(()()))()(())))(((((()())()())))(())()()))(()))(()((()(()(()((()())())(()))(()((((((()))))))((())()(()())))())()(((())((()())())((()()())((((()(())))(()(())))()()))(((())))()))))(((((())(())())))())())())(((()()((((())))())()))(()())((())))()))((((()))()(((()))))((((((()())((())()((((())())((())()))(())(())(((()())(()))((())(()()(()(())()())))(((())))())(()))))(()))))(())((()())(()()()))((((()(())())()(()(())((()())(()()))())())))()()()(()()(())((()((())())(((()(((()))())))())(((())(()))(()(((()(((())()(((())(((((()())(()()((((()((()((((()))(((((()()()()()())())(())()))()((())))(())(((((((())())()((()))()())(()))())(())()()())))((()(()(()(())()))(()))))()((()))((((()(()()(()))())(()()(())(()((()()))))()()((()(()())((())(())()))())())((())()())()()))((((()()(((()))()()()()))((()(()()()))(())(()((()()())))((()(())(()())((()))()))(()(((())(()()(()))(((((()(()))()))))(()))(())()())((()((()(()())()))))()))()()))()))(((((()(())(((()((()()())()((((()(())(())()))()())))()())((((()))))((()((((()))()((())(())((()()(()))())(()))))))))()(((()()(()()()(()())))))()())(((()))((()(((()())))()()(())()())())()()))()())))))((((())))()()()))))(()((((())()()()))(()))(())))())))))()(()(()()()()(((())()(((()(())())))))(())((()()()()()((())((()))((()(()()))()())))()((((())(((()()(()()((())(()))))))))))(((((((((((()(()((()(()))()())())))())))))(())((()(()()(())())(()))((()((())))((()((()))()))(()))(((()(()())())))(())()))))()())))()((()()((())((()))))((((())))(((()()))(())))()())()((())(()()))()(()))())((()())(()(((())))())()(((())()())((())((())))()(())()()())()(()(()(()()))())()))(())(((()))((((()(()())(()((()(()))()(()()(()(((())(((()))(((((()((())(((((()))()(()(()(())(()()))()))()(()())))))))))))()())())((())()((((((((()))))()))()))(())())(()(()()())))()))(((()))(())))()))(((()())((()))(()((()((()())(()())(())(()((((((()((()))())))((()((()))(())())))(()())())))))()()()())()()()((()))()((())((()(()())())()(()(((((((()()()()(())())(())(())()()(()()))())())()))(((()(())()((())(()())((()())))())))((()))(()(((((()(())())(((((()()))))())()))()())))())()()())())())()((()(())()()(()(((((())))((()))((((()())()))(()((()())())))())(()(((((((()())))())(())(())()(())(())(()()()((())())))(()()))())))(()())()))((()()))((()())()))((())()(()()(((())(()))()(()()(((((()))())(((()((())()((()()()()(())()())(((()())(()))))())))))((()(())))()(((()))()())())))()()))())()()())())((()))(())))))(((((()(()(()()))((()))(()((()()))()(()))((()((())(())()(()((((()((((((()(()))))()(()()(((((()())()((())))((())))))())))(((((()(()((()(()))()(()(((())()))(()())()())())(()()(()(()((())(())()))(())()))()(((()(()()()))((()((()(((()((()())))))))))((()()))())))()())())())))(((())))()))))))(((((()(()((())))((())(()))))()))())((())((((())()(()((()))()()))))()(()()))(())())()))))(((()(((()))()()))()((()()()()())))))))(()))))())((()()())((())(((()()()))(()(()(())((()((((())))()))))(()((((()())(((()()())()()))(())))(()()))()()())(()((())))())))((((((()((())))(()()()))(((()())()())))(())))())(()()(())))(()()()()))))))()((()(()(()()()())())))))()()))(())()()((((())(()(())()))(()()((()()())(()())(()())))))())(((())(((()((()(()())(()))(()(()())()()(())))(()))))())(((((())())((()))(((())())))()))())(((()))())(()()))(()(()())()((())((())))()(())(())))()((()(()()))((()()(()())(()()())()(()())())(()))(()())(()((()()()))()(()()(()()(((())))))())()()()())))(()()()))((()))))))()((((()())())(()())()(())()))())())()((()())()()((()())()((()()))(()()()())()()(()(())(())))()()))))))()()()())((())))()))()))((()()(()((()()()(()))()())()(()((((((((())(())))()(())((((()()()(((((()))())((()())))(((((())))))((()))())()))(())()((()(()(()))()((()(()(()(())()((((((()()))))))))((()()(())((()))))())()))()))()())())))())))))())(())))()(()(()((())((())))((((()(()))()))()))())()))()))))(()()(((())()))(((()((()((((()()(((())((()()((())(()(()))(())(((()(()(()(((()((()))())))(()((())((((())))((())(()))))()()()()()())()(()))))((((((()()()))(((((()()()((()(()))())(()((())()(()()(())((((((()(())(((()(()((())(()))(())))))())(()))))))())()))())()())(()()))(()))())))))((())())))(()))(()))))()))((()))((())))))))))(())()((()())()(()()(())()())())(()(((((()(()))))(()(((((()))(()))())()))(())))(()))))())()((())))(()(((())))))())(((()((((((()()()))((())))())((())())(()((()()((((()(()(())((((((()())(())((((())((())()))((())(()))((()((()()()()(((()())()()(()((())()(()(())()((()((((())))((())())))((()((((()())(())())))))()(()()())()()))(())()(((()()()(())()((())(()(())()()(()())((())())((()(()))(()))(())(((((((()))(((((()))))))))))()(()(()()()()())))()))((((())))((()()())(()(())((())()((()((()()(())))(())))())(((()()()())()())))()))()))(((()()))((()()())((()()))(()()(()()))())))))()(((((())))(()()(((()))((())((())(()(()))(())(()()))(()()(((((((())(()()())()((())())(()()()())()(()()()))))())(((()(((()(()((()))()()()()))())))))(((()))()))()(()))()()))(()())()(()((())((()(()))())((()))))))(()(()()())(()()))(())))()))()))(((((()())())(()))))()))))()))(((()()()())(())))())()())()((((()(((())()(((())))))())(()))()())()))((()())()())())(())()))))()(()()())))((((())(())))()())()()))())((())))()()(()))())))((()))))(())(((())((())())))(()(()((()()(((()))()))())(()((())(()((()))(())()(()))))((()(((((((())(((()())()((()())()())(())()))(())()))))()()))(()(()(()())()(()((()((()))(())))(()))()(()()((()())((()()(())())))(()((())()(()((()((())())))())()()(()())(()))()(()))(((()))()(()))))(()())))))))((()))()()((((()())()()()()))))))())))))))())())())()(((((((())()((((())))))))(())))())))))))()(()((((())((((())(()()())())((()(()())((((()(())))((())()))()())))))())))((()(((()(()())()(())))(())))))())())()))))((((())))))))))()((((())))(())(()(()()((()()(()())(((()()()(((())))())())()()())(())))())))()(((())((())()()()()()(()()()(())(()))(()(()(()))(()(()()((()))((())(()((()((()())((()(()))(((()((((((()(((()))()(((()()()(())())))))))))()))()((()()()()((((((()))()())()())))))()))((((())())()())()())))()(((()())())()())((())())()()())))))(((()))())())()))())()))((())(())(()()))))))(())()(((((((()(((()()(((())(())))()((()(())(((((((()(()()()))))))))(()((((())))()(())))))))()()((())()))()(()())(())(())))())))(()())()(()))()))(()()()))())))(()(((())(((()))(((())()()(((((()((()(()())()((()))())((()))((()(()(()())()()))((())()((()))(())))))())))))(())()())(())())()(()))()))((()((()(()())())(()))(()((())((()))))(()(()(()))))())))(()(()((((())((()((())()))(())()()()(((()((((((())(()(()(()))()))((()()()))()(())(())())()()()))))))()()())))))(())(((()(()))))(()((((((()))))()(()))(()()((()()(()())(())()))(())))()(())(()())()))))()))()(((()())()))()()()((()(()(()()(()()(((()(()(())((()()(()((())(())()(((()((())()()()(()(())()(())))))())()))(()(()(())))())((()))(()(((()(()(())((()))))((()(()()()(())))))()())))())(())())((())))())()(()()((())()()(())))))()(()(())()))()))((())(())()(((())(())))()(())))))))()())()(((((()(()))((())))((()()(())))((()(())()(()(()))((()(()())(()((()))()(((()(()))((()(())()())()()()))(((((())))))(())))(()()(())(()())))()))(((()(()()(()()))))(((())()))()(()(()(()()(()()()(())))((()))()))()())(()()))()())(((()))))()((()()()))())(())(()((())(())(())()(()(()())(())))))((()()(()(((()())()))))()))((())()()))(()))()())((()))())()())))()()())(()(()((())(()))(()()()())()()())(())((()(())))())(()())()(((((())((())())((()))()))()()()))()((()))()(())))))()(()())()()))))(()((((())()))(()()(((()(()))(())((((((()()()()(())))())(())((()(()()((())(((((()()(())(())((()))))((()))((())(((((()(()(())(((((((((()))()))(()))()()())()(()()))((()((()((()((())(())(((()()))))))(())(()()((((()))))))(((()(()())()(()))((((()((()())))(()))()()(()(()))))(((())((()(()(((()))(()()())(())()()())(())))(()((()))(((()(()(()((()()()(())((())))(())))(((()()()()()(()((()(((()))))((())()()())()()((())(((()(())))())))())(()())(()))())(()))((())((()))(())((((()))))()))())))))(()))))))))()))())())))))))))(()((())()((())(()))())()(((()(()())(()())()()())()))))()(())())(())((()(((()))()(()())()()()()(())))((())(((())())()))(()((()((()())))))(((((((()))(((())()(())())()(()())))))))())()(((()(((())())(((((())()((())))()()()())((()()))((())(((()))(()(())))(((())()))()))))(((()(()()((()()()((()()))()((((()((()(()(()))(())(())())))))))))()((()()))()()()((())))(())))()(())()()(((()())()()((()(())())))))(()((()((())()(())()))())(())((()()()()(((()))(()))()))(()(()()()()(())((()()(((((()(()(()()()))((((((()((()(()()())()()()(((()()())(()))))))()))(((())(())((()(((((())((())())()())())()))(()))))()()(()))())()())(()(()()()()()))(()(()))())(()((((((()()(())(()())))(())()()()()((()))))(())))))())))((()))))()(()))(((())((()))())(((()((()())))))))())()))(())))()(()))(()(((()))))))(()()((()))(()))()((())())()(((()))(()(()()))(())))))()))))((()()))()))())()(()))))))))(())((((((()())(((()((((())))(((((((((((()())()))))()()())((()()()()()()))()()((((()(()()(((((()())(())())((()()))))()(())(()()(()))))))(()))(()))())(((())))())(()(()((((()(((((()()()))))(())(())())()())))())()))()(())(((()())()(())((((()()(())))()(()()()(()()))))(()))())(())(())()(()())))())()())()()(())((())()))((((())((()(()))(()))))()))()((()))(()())())))(()())(()()()))))(())))()(())()(((())))))((()(((((()()())))))((()))((()())))((((()(()())()()()))())()((((()(((()()()(((()))))((()))()()()))((()()(())()())((())())(()((((((()(()))()))()(((()()))))())()()()((())()))))())))()())()())))())()()(()()((())))))))((()(((()(()(()()(())()())))))(())(()(((((((()))()(((()()))(()())())()))(()((((()((()()()())(())())()())()()((()())((((())))((())))()(())())))(()))))(()))((())))(()()((()(()()()(((()(()((()))(())))))))())((((()()())()(()((())()))()))()((())))))((((()))((())()()()(((((())())))))))(())))())()))(()()(()()))))(((()()((()))()((((((()((()()()))))())((())(((()((())(())())))((())))))(((()()()(()())(()()()(())(())()(()()(((()()((((()))))((()))())()()(()((((()(()(()()))))))))((())(()(((()(()())())))(()))())())(((()()()((()(()()()()))((()())((((()()()(()()))))((())()((()(())((())(()(((())()()()()((())())(()()()(((()()()((((()((()(())())()))())())(())(()())(((())(()()))()(()((((()())())))())))(()())((((()((()()())))))(()()()((())((()((((()))((()((()(())))(()(()()()))(())())())(())))))((())(())())))))(()()(())(((())))(((((((()())(((())(())(()()))))(((()))(((()()(()))))(()((((()()()(((()()((()((()))(()))()(((()()))()((()))(((()))(((((())()())))(()())(()((()))(()()())))))()(()())))))))))(()((()((((((()()()()))))())(((()(((()))())(())(((()))))()))((()))(((())))))())(()))(()()()((())()((((((()(())))))((((())())((((()())()((((())()())(((())))))()()))())()(((()()))))()())(())()((()()(()((()((())()(((()))())()()()))((()())(((()))())))))()())(()))(()))()())))()(())(())))())((()))((())()()(()(()(()((()))(())))(((((()())(((())(((())))))((()(((())()(((()(())))())))()(())((()))()()(())))()()))()()))))()()()(())(())()())))))))(((())))())())))(()())))(())(())))(()()(())))()(())()(()(()(())))())((()((()(())(()()))((((()()((()()()(()(((((((())))(((())))()()))((()((()()(()()()))())))(())()()))))())())((())()(((())(())(()()))())))())))))())))()))())((()()()(()(((())()(((()()()()())))()))())()())))(()))()()))))(()())()(())()))())()(()(()()()))(()))(((()((()()())))())(()((((()))(())(())))(()))(()((()()(()()(()))))()()))(((()(((()))((())())()(()(((())(((()()((()))((((()()())()(()(())()(()(()(())))()((((())))(()()(()))))))(((()())))(((())))()(((())()(())((())))(())(((()))())((()))(()))((()))((()))(((()((((()())()))))(()((()())()(())())))())(())((((()(()(()))())(())())((())(()())())))))((((())))))()))(()(((((()()()))))())((()(()))()()(()))()))()())(()(()()((()(((((()()()()))((())())))))(((()((()((())))))()))(()))(()())())())((((((((()((())))))()))))))((((()()))))))(((()())())(()((()()))()))())))))((((()())))())(()))((((((()))(()(((()(((())))(()))(((()())))()()()()())))()())()()())(()))(((()))))())())))((()(()((())()()(()())())))))()())(())()))(()(()))())()((((()(((((())()))()()())(((((()))(()()())((()((((((())))()()))()()())(())))))(()(()())(((()()))(((())((((((((())((()(()((())))())(()((()))(()))))()(())()(((((()()())()((()()()()))()())((((()))(()()(((((())(((((((()(()()()(()(())(((((())))()())())(()((()()()()(())(()()()))(())))()((()()(()(((()())((()()(()())(((()()))))()()(()((()(((())())(()(((())(()()()))))((())()))(()(())())((((()(()(((()()())))())(((())(()))()(())())())()(((()(()((()()))(())((()(()(()))(()((((((())))(())()())()()(()((())(((((()(()))(()())()()(((((()())()((()((())())()())())(((()))(()((()((()))((()()))((())()())))())((()()(())))(((((((((()))())))()()(()()((((()))())(())()((())))(((()(())))))((()))()()))(()(()(()()((()()()))))(()((((()()()))()()))()))()(())(()((((()((())(()(((())(())))(()((()(()()())))))((()()()()))))(((((()()(()(((((((())((((()(()((()(()()()()(())(()(())(((())(((()(((())))(())))))())())))()()()(())())))(()(()((()()()(())(())()(())()())))((((()()()(((((()))())()))((()()((()()))(((((()()))((())))((())))())()()(()))))))((()())()(((()((()))(((()((())()())()))))((())(())(()))))()((()(((()()(((((()((((()(())()())(()()(())())(()))))))()((((()))))())))()(()))))))))())))((((()(())()(()))((((())))))))))(()))()))()(()()())()())))(((()((()(((((()((()())()))()((())))(())()(((()(()(())))(())))((()()))()(((((())())())()))))())()))((()())()))()()()))()))()()(()()())))))()(((()))(()())))))(()(()))((((()(()((()(())())(()()(()())()))()(((((()(())))((())(((()())((())(()))))))(()(((())))())()()))()()())(((((((()))((()())))))))())())))(()(()))()))(())()(())((((()))())()()()))(())()((())(()(((()()(((()()()(((()(()()((()()(())(((()))())(((()())(()()()((()())))((()((((((((())))())())((()))())())((((()())()()()(()((()))()()(((()()))((())))(()(()(()))()((((()(())())))()())((((()))()()))())))))))()((((()))())))(())(()()((())()((()()()(((())))))((()()))()))))(())()((()()))))((())())))(()(()((((()()()(())(((((())(()()()()()())()())))((())))(())())()()(()()()))()()())(()((())(((()))(((()((()((()())))))())()))())(())))(()(()))))((())())()))))()))((()))(((())))((()(()())()((()()))())))((())())((((()()((()()(((()()())(((()()((()(()(())))()()((()()))(()(()))))((()(()()((())))(()()())()()(())((()(()()((()(()(()())((((()(()()((()))(())()()(()())))()))(()())())()())()()())()))(()(()()(())()()(())())(((((())()))(())(()()((((()()(()))))()((()(()))()())())()(((()())))((()))()))()))))((()()))((())()))())()))()()())()()(())(())((()()((())(())))))))(()())()))((((())()))(((((()()((()(())()())()(())()()((((()(())())(((()))((()())))(())(((()))())(()))()()()(()((()((()()))(())))))((()(()((((()))))))))))(((()()))(()((()())(()(()())))(()))())))(((((()(()(())))))()()()()((((((()))))))((())))())))((()))(((()()((()(((((((((()()()((()((((()((((()))))((()()())()()))((())())())))((())(()))())))(()))))))))(((())(((()))()()))))())))((())()())(())(((()((()(((()((())())()())(((((())()))())())(())())()()))))))))(()((((()(()(())(()(())))))()))(()()()()(((()(()()(())))((()((())()())())()(()())))(()()())))()))())(())(((())())()()))())())))))()()(())())((()(((((((())(())))())(()(((())))())(()()((())(())()()(()()()(()(()((()(())))))))()))())))))((()))(()())((()(()()(()((())()((()())))))()(((((())()))((((((()())())())()()(()()((()))()()((())((()()())))()()()())(()(())()((()(()())((()(((()()))))))()()(())((()()()))())()))((()()))))((()())()(())))))(((()))()))))()(((()())((()(((((()()()())(()(((()))(((())))))(()))(()()(()()(())((((()((((())))))()))())))()(())))()(()(()))))))))()())()()())(()))(()()((()))))()(((()))()(())((()))))))())(()))))()(()(()())))()()(()())()(())(()((()()((())(()(()(()((()(()()((()((((((()())))((()(()())())()(()()))((())()))(()())()())))((()())(()()))()))(())()())(((()))((((((())()())(((()())()))())(()((((((((((((()((())))((()(())((()()))())())))))())()))((()()))((()))((()())))()))()((((()))))))(()()))())(())()))(()))(())(()((()())))())())())(()(()((()())))(((()()))()(()))))((()()((())())(()())()()))((((((()())))))))((()))))((((((())(())))(((((())(())()()()()))))((()(()))))()()()(()))(()))(()((())()()()()))))()))))))()(()))((())()((()()((()())))((())((()))))(())())())(()(())))((()))((()()))(())((()((()()(()(((())())()(()()(((()))(((()(()(())))(()))()()())()))))())()(()()((()()()))))(()))())()))))(()))((()))())((())((())()))))))))((())(()(((()()(())(())()))(((()())(((()((()()))((()((()((())()())(((()()()))()())()()))()))(()))))())()((()())))(())))()(())())())((())))()))((())((()(()()))()))))(()()())())())())))()(())))))))))))())(()((()((()))(()(())()(())(()()((((())()))(()))()()))()())())))))())()((()))))())())))))()))))))))))()(())(((())()))(()()((()())))((((()())(((((()))))(()))(()))(()(((()))())))())()))()()))((())((((())())()(())((()(())())))))())()((()(()(()(())((()((())()(()))))((()()()((())((())()((()((())(((()()(()()(())(())())())))((())(())((())())))()()))(((()(((()(()()(())()()((()()(())))()((())))())((()())))()())))(()()))(((()(()))))))(((((((((()())))(((())(()))(()((()(()))())((())()()))()))))(())))()(()((()()()(()((()()))()())(((((()())((()((((()()))(()(()))))()(()(()()()(()()()()()(()()()())(((()())(((()()()())())((())))))((()(()()((()))))))))())()))(()()()((()))(())())))()()())(((((((((()))()(()))()())((()()))))))(()(()((()))(()())))()()))())())((())(())((())(((())(())((())(()))()))())(()()())))(((()())(()(()(()))(((()))()()(())()((())((()()))())))())))()))((())()))(((())(((()(()))(()(())()()))(((())(())()()(((()((((()))()(())(()(()()())))()()())))((()))()()))(((((((()()(()()()()())())(()))))()((((((())())(((()(()()())()))))))))())(((())))((())((()()(())((((((()))()(()()))())(())()))()(()(()())())))((()(()()()((()))))))((())()(()()))(()))((()))()((()(())))))(((((()(()()()()((())((((())((((((((()(((((((())))(()(()(())((((())(())(()(())))()()((()()))()()(()()(())))))(()())())))())))))))((()((()())())(())()))((((()))))()(()()))(((())()((()))())()((()(()(((()()(((()))))(()(((()(()()((())()(())(()))(()(()()((((())(()(()(((()(((())))(()))())))(((()(()))())()()()(())()()())()()((((())))))(()(())(()))()))((())())(((()()()((()(())(())()((((()))))))(((((()(())(((()()))()()))))))()(()))(((())((()))))())(()((())((()))(()(((()()())())()()((()()())))))())()((((()))()))))()(()))((()))()))(()((((()((((((()(())())()()))())))()()()((())))())(()(())((((()))))()(()(()()(())))(()(())()()()()((())))((())(()))()()((((()())(()((())(()()()))))((((((()((()((((())((()))))())())(()))()))(()()())()(()(())())()))(())()()(()())(()((()((()()()())(((()(())()()((()()()))()))((()))())))(()(())()(((()(((((((()()))()()())())))))(()))()())()()))()(()))(())())))())))((()(((()()(())))(()(())(((((()()))))))))()))))(()((()))((()(())))))()))(((((())(((()))(()()))()))))))))()()((((((()(()(()((()))())))()())()))(()))))(()())(()))))((((()((((()((((()())()(((()))(((())()()())()()())()))((())(()())()))()())))((()()(())))(()())()(())))(())()))(()))())()()()()))()))))(())))()((()(((((())((())())()(((()(((()((()((()))((((()))))))())))()(())()()()(()()))(()()()))()(()((()(())))((((((())()())))()))())()(()()(()))(((())((())((()())()(()(())())))))()()((((()()())))()))(((()(()))(((())))(()))))())())(())))))(((()()))((()((((((()))(()()(((()(((())(((()))()())()()))())()()())))))((()()()((()())(((((()))(((()())(()()(())))())())((())(()))(((((((((())))()(())()))()))(()(())())(()))())((()))((((((()(((()())())()(((()))((()()()((()((((()((((()(()())()))))))()(((()()((((())()(((((())(()))()())()()(((()()(((())())))(()())(()(()(())))))(((()))()()())((()()((()))((()())))))()(()()()(())(())((()))))(()((())(())(()()))()(())()))(((())()()(((()(()(()))))))))(((((()(()())())())(()())))))()()()(()(((()(())(())(()))((((()))()))(()()))((((()())(((((()(((()()))((())))((((()(())((()()()()()))((()))(())()()(()())())(()()()))(()(((())()()((()()))()()()))(())((((((())(()())))())(()())()((()))()())))())(())(()(()))(()))))(())()()))()(()(()())))))(((()())(()()(()))))))))(())))))))((())()))))))())((((())())())()))))))()()()((()(()()(()(()))(()(()))))(((()))()))))(((()))(()(())()(()(()(()))()((())((()()((()()()((()(()(())))))()))))(()(()((())()))()(()()()))())()((((((()))))())(())((()(((()(())((()))(())()((())))(()()(((((((()((()))))()(())()()())(()))(()(())(()()()((())()((())(())(((())(((()(((((()))()()))(()(()()))((()((())()()())(())))))))))(()()))))))))(((()()())))))()()))()()))(((()(()())(()(((((()))())((((()(())((()(()()(()((((()))))(()())()())()))((((()(()))(((())())))())))))(())))))(()()(()(((()((()))((()(()()))))(((())()((((())(()))))))(((())))()()())))))(((()((()))((()))))())))(()())()()((()()()((((())((()((()))()(())()()()(())(()(()((())())(()())()((((()))(()())))))()((()())))()))())))((()))(((((())(())(()))))())())(())(()())()(()()(()))())()((()()))()((())(()((()(()(()(()()))((()((()(((()))(()(()())))())))((((()())()))(())(())()()()()(((()((()))(((((())()()(((()()))(())))())(()()((())()()((((())(()())(())(())))))()))(((()))))()((())()()))))()(())()()())()))(((((()(()(())()))(((())))(()))(((((()()((()()))))())((((())()()()()(((())((())()))((()))())))()))))))()()(((((())))))((()((()))()(())(())((((((()(((()(()()))((()())))()))(()(()((()))(((((()()(((((()(())(()(())))(()(((()(((()()()())((()()(()(()))(((()(((((()())((((()(()))())(((()(((())()(((((((((()())(())())))()))))(())(()()))((())()()))(())(((()(())(()(()()))))((()()))(())))()())))(((((())(((())()))))()))))(((((())(((()(()))(()(()))(()()(()((()))(()())))))()()))))())(()))(())(())))((()()))()((()))((())()()))))))(((()()(()()((())))()))()))))(()())())((())))(()((((())(()()))((())))()())))(()((()()))()))(((()()()(())()())())()()(((((())))((((())((()()()(((()(((())(())())((()())())(()()((())))))((()()()()))))))(()()()((()()((()(()(()(((())()(())()()()))))))()((())(((()))((())(()()((()(()(())(()((()()()))))))))))(())((((((((((())))((((()()(((()(()())((()((()()())()))()(()(()))((((()((())()())(((()))()()(((()((()(())()(((((((()))((((()))))(())())))()((()(())((()()()))(())()()((((())()((())()((())()()((()))((()))))())(()()))()))()((())(((())(((((())(()((())(((()()((())()((()))((()(((()))))(()((()())(()))()())()))()()))())((((()()()))))((())))))(((((())))(((((()((()()()(()))(()))()(()())((())())(((()))(((())()))(((((())()((((())))()())((()(())()()())(()))(((((()())()))(()()))))))())(()((())(()()()()())((((()))()())))()(()))()()(((()))())()())())(()()(()()((())())((((((()(()(())((((())(()))()))))))))(()()()))))(((()))()))(()()(()))((()))))))(()((())()()(()())()))))()))))((()((())(()((())((())))(((())()())()()((()))(((())))((((())))())((()))())))()())((())()()(()((())(((((()(()((())()())))(()(()((()(((()())(()))()((()(((((((((())()()))))(()(()(()(()(((()(())())()))(()(()()(((((())(()()))))))()())))))()(()(())((())(()((()(())()()()(()(((((()())(()()))()())))(()(())((()((())((()(()()(()()((()(())))))()()(())(()((())((()(()))())((()()()))((()))())(()())()((()((((())((()))))))(((((()))())((()()((()(()))()()())())()(()))()((())((((())()(()((()))()()))((()))))))))((())())())()((()(()))(()))(())))()(()()(())()()())()()((()()))(())))(()((())()())())(()()()))))(()))))()))))()))(()(())()()()))(()()(())))(()())())((((()))(())((((()))))))))(()()((((()()(()(((()()))))()(()())(()(((())))((())(()()))(((((()))(())(()(())))(()())())))))()()())()))((()()()))))))))()()))((()((()(()(())))((())((()))))()))()()((())((()(())))(((())()((((())((()(()(()))(())((()))(()())()()(((())))((())()()((((((()((())())(())))(())))))(())))((())(()))())((((()))((())))))(())))()((()((()((()()(()))(())()))())(()()()((()(((())()()()))(()((((()()(()()(()(())()(((()(((())()(((()))))()()))())()(()()())()))()())))())())((())()()))()(((()()))(()()()))()((()))))()()((())()(())))(()()))))()())))(()))(()()())()((()()()())(()(()()))))))()((((())))((()(()(((()(()()(())))))()())))((((())((()((((())))((()()()(((((())()((())(()(()((()()(())(()((()(()))((()(()))(())))((())())))()((())))))))(((()()())))(()()()((((((((())(((()))))())))(((()()())))())()()())(((())((()())(())()((()(()(((()(())()))((()((()()((())()))(()()((()((((()((()(()()((()))((())()(()()()((())((((())))())))(())))())))(()(())()()()(()))((())())()(((()()))())()((())((())(((()(()())))())))())()((()))((()((())((()(()((()())()(()())())()()(((()))((())(()(((()()))((((())(())))()((()))()))((())((((((()((((())(()(())()(()()()((()(((()()()(())))((((())))(((())())()(((((()((()())()))((()(())((((()((())()())))))))()()))())))))())(()(((()()()))))())((()()))()((((())(()))()(()((())()))()()))()))(()(((((())))))()))))()))))())()((())()))())())())())(()()((((())(())))()(()))(()((())()()(((()()))()()(())())(()((()()((())()))()))((()()(()))))))))(()))(())(())))()))())()))((()(()()))()(())((()(()((((())(()())()(()(()))(()()()))()())()))(((()()()((((())()))((((()(((()))()))())))))())()())()(()))))((((()()((((()((())))(()))(()()()()))(((((()()))(()))()()())))())()())())()(()(()(()())(()()()))()((((())(())))()(()))((())((())((()((())()(())()())))))()(())())(((()((((()(()((()((()())((())(()(((()(()()(()()((())())()()))(((()))))())()(()((()((()))()((())))()(((()((((()))((()))))()((((()(()()((((((())())(())))))()(())())((((((()((((())(()))()())())()()((()))(()(((())())))()(((())(())())(()))())())))))()()(()((((()((()(((()()()))()(()(())(()((((()())((((()()))))))())(((((())))))((()()()))))))))()()((()(())()())()(()))))())))())())()))()))((()))()((((())((()(())())))())((())())()))()()()()()((()((()(()((()())()))())()())))()(((((((()()((()(((()(((()(()())()(((()))))((())))((()((()((())(((())())())))(()(((((())(())(()(())((()()((((())()())((((())))))((()()(()(())()))())()(())(())(())))))(((())()))()((())(())())((())())))(()()))((())()))()(((()((()()()(())(((((((()))()))(()()((())(()))((()(())((()((()))))()(())()(()((((()((((()())())))()(()())))())())(()))((()(())))))())((((()(()((())))()())()))(((((()(((()()()))())()())()((()((()()()())()((((()())())(((()())((()())))())))(()()((()())))()()))))(((()(()))((())))()(()()(((()())))())(()(()(())()(())))()(()()()))(((())(()))())))))(()())()(()()(((()()))((()(()(((())))))))()(()))(((()(((())()))(()()())())((()((((())))))()()()))((((())))()(())))))()(()((((()))())(())(()()()())()))((()))))(())()()()())()))))(())))()((()()()(())))))(()())))((((())(((()(())()()()()()((((()((()))()()((((())((()))(()()(()()(())())(((())((())))(()))(((())((())))())())))))()(())))(((((()())()(()())((())(())))())((((())(())((()))))))())()()(()(())))()(())))()(((()())()()(()))())(())((((())(()(()())())()))))()()))(()((())))))))(()())(())((((()(()))))())(()))(()(()())(()()((()()(())()))())))))))))(())()))()))()(())))())(()()))))()()))))())(()()(())()))(((()(()(()(()(()()((((()(()(()(()))))((()())(()())(()(((())()()((()()))(()(((()()()())))(())(()((((((()()))())((()())((())((()((()()(((()())()())))()(((()))(()()()()()()()))))(((()()()()))))))()(())(()())()()(((())(()))()())()(()))()(()(())))))))((())())))((())))()))((()))))(())(()()))))))()()(()()))())((()())())((())()))())())()()()(())))()()))()((())((()))(())(((()))())))))))((()))()))()(())())((()((((()())()((())))(((()(((((()))())))()))(()(()(())()((()))()(()(((((())))(()()))()))(((()))())))())())))())))))())((((())(((((((()()()))()))((((()()()(()()()))((())(((()((()))))))(())))))()())(())))(()()))))((())((())))(()(((()))(()(())()))()(()()((((()))(())()(((())))(((()(()()))))))()(())(()()))())()(()()(())))()))))(()()((()(()))()()()(()()()))())()(()(((()((((()()())()()))()))())()())))((()()(((()()))((())()))((())))()(()))))))())))))))()((()(()))()))())())()))))(())())()())(())(()(()))))(())(((()(((()()()()()(()(()((((())(())))(((((((()))(()(()))(()((()(((())(())(((()(()))(()))())))))()())())())()(()()()())((())())(((())))((()(((())))(()()(()(())())((((((()))())))()((()))))))))))))())))()))(()(()((()))))))))()()()()(()()(()()((((()))((())())())()))))()()()()))))())(()()()))())(()()))()(()(())(((())(()())))()))())())()((()(())(()()(()(((()((()(()())(()))((()())))((()(())(((()))))()()()()((())(()()((((()(((())((())))())()(((((()()()(()())(()(())()()))()())()()((())())((((((()()()((())()()))())))()())()(()))()())()()()()()()())((((((()()))(()))((()())))))())())()((()))(()(()))(())())((())()(())))))())())(()((()()))(())))()()((()(()()()))))((((()((())(()))())()())())())(())()())))))(())())))()((()((((()()((((()()()))))())()()))(())))())))(()(()()()))()()())(()))()((()(()((()((()()((()))())()((()()(((((())()((()())))(((())))))(()((()())(((())())))))()()(()(()(())()))()()()()(((((((()(((()((()((()()()((((()()(((())))())(()())()))(())))((()()((()))))(())()())(((()))((()()(())((())(((((()))(()))((())())))(()))(())))()))))(()((()()(((())()((()()))())(((((((()))))))(()))())()()())(((((())))((())()(()(()(())()(()))())()))(())(()))()((((()(())())())()(()()))()((())())(()))))(())))((()()(((()(((()())(()()))(()))(()))))))((((()))(()))()(())()(()))())()())))(()()())()))))()()()))))()())))(())(((((((())((()))())((()()(()())))))((()((((((()(()()()())())()))((((())((())(()())(()))(()(()((((((()((()))(((((())(()))((()()((()(((()(())(((())))()()()()()())()())))()()))(()))))())()()(()()((((())()()))(()())))))()))())(()()())))(())()()()((()((((()))))(((()(())))((()(((((())(())()(())((())()((()()(())((((((()((())()(()))((()))()((()))()))(()))))))()(()(()()(((()()()(((())))))()))))))((((((())((()))(()()))()(())()(((((()(()()(())))()(())(())((()(()())()))))(()))(((()()()))()))))(())((())(()())((((()(())())()(())()())))(()()))()))))(()((()()()((((())))()))))()))(()()()((()())(())))(()())(()((()())))((()((((())(()())(((()(())))(()()))(()()())))()))())())))((())(())())(())))))()()))(()))(())))(())((())()((((()((()))()))())))))))))())()((()(())((()(())))())()()))((()(())))((()())())(((()))()()(()(()()(((()(((()((())(((()())((()(()())))))))))())))(()((())()(()(())))())))()())((()))()))))()))(())())()()())(()((()(())((((())(()))(())()))()((()(())()())()())((()(()())()()()()(())(())()((((())((()(()()))((()())()(()()())()((())((())((()))(()(()())(()(())()))()())))())))))))()(()((()()(()()))(((())()())((((((())()()(())(()((()(())((()))(()))(((((())())(()()()()))))())))()))()(())()))(())()(()()()((()((()()((()))))())()())))((())()))()()((())((())())(()))()())))())))(((()))())((()()(((()()()((()(((()())()))))(((()(())))())))))(())())((()))()))((()(()(()()))(((((()()()))(()())())))))))(())()))))(()(()()(((()()(())(()(()))((())(()()))())()()((()()))))())))())))()))()(())))()))(((())()()()))()((()((()()))((()()(()((()())()()(()((()()((((((()(())))()()(())))(()))))))))))())))((((((((()())(()(()))()(())(()(()))()()(()))))())()))(())))())((()()))())))(()((((((()()(())()(())))()())))(()))())((())()))(()((()(((())()()))())))((()((()))))(()()))()(()((()(())))()()))()()()(((((((()))()(((((((())((()()))(((((((())(())))))()(())))))(()((()())(()))()()()))()((()))()((((())((())))(()((())()(()))()(()(())((((((()((((()((()()())(()(()))())()))()(())))(()(()((()())))))(((()))))))))))(((()(((((())(())()))())((()))((()(()())())()(())())(())))))())))(())(()))))(())()())()((()()))((((())))(()))(()((()))(())))()))))))(()(())()(()(()))()(()())((())())))()())(()(((())))(((())())()()))))))()())(()()()())())())())))))(()(()())))(()()(((()()()()()))(()()()))()))))(()((((()(((()(())((()())())()(()()()()()))))(()))(((())((())))()())()((()(()((()()())()()((((()(()(()())()(()((()))(())((()))(()((()()()))()()))(((((())()(((((((((((((((()()())((()))()())(()())(((((())(())))())))))()()(())(()(()()((())(()()(()())(((()))(())())((()))())(())(()(())(()()(()()()(())))((()(((())))))((((()(())())(()(())(((()((()))(()(()))))()((((()(())((()())()()(()()((())((()())(((()()((()()))))(()))()(()(())()(((()(()()())(((((())()(())(()(()))))()()())))))))((((())()())(()))(()((())())((())())())(()((())))(()))(())()))(()(()))())()))))))((()(()((())()(())()()()())))((((()(()()(((()))(()((()()))))))(()))()(()()((()()()()()(()())))())))(((((())(()())((())()))((((((()))((((())()()))))(()()())()(()()((()))()))(((((()(())(((()())(()((()())()()(()()))((()()((((()(()(((()()(())())((())))())((()))(((((((((()())()))))()())(()()(((()))(()(((())())())(()(())))((()))(((())()))(()(())())))((()))((()()))))()))(()(()()())(((())())(((()()(()(()())))))))()()())()(())))))(())()((()()((())())(())))(((()(())())))))())(()(()))()()(())()()()())(((())()))))()())))())(())(())))(((())())((()(()))(((())()()))())())(((((()(()(()))()((((())()))))((())((())(((())(()()(()()()()()()()()()(((())()()(((((((()()())))))()())))((()))((()()))(()))((()))))((()(()))))()))((())(((()))(())(())()())())(((())()()))()))(())(())()()(()(())))(((((((())))(((()()))())))()))())))())()((()((()((()()()(()((()))()))((())(()((())()))((((())(()()(((()()())((()((()()((()())((()(())((()())(())())()()()(())()(()(((((()()()(((()((()())())))(()()))()))())))(()((())())))(())(((((()(()(()((((())(((()())))())(())()((((()(()(((()()())))()()(()(()()()())))()()((()(((()(())(()()(())())))))()((()())())()(())())(((())()))(()((())))((((((()))()()))))))))((((())()())))(())((()(())(()))()(())(())(())())))(((())()(((((()))()())())((((((((((())(((((((())(()(()()()(()()))(()))())(()(()())))(()()(()))(())(()()))()))(()()()))))()((()((()))(()()())(((()()()())((())())()()())(((())())())())((())(((()(())(())(()(()()())()(()(()))))(((((())((()(()((((()(()((())))()())))()))())))))))))))(()))((((()))())())((((()()(()(()()())()((())())))))((()(()))))))()))((()(((((()()())()((()())())))(((()()))))(((()))(())()((())()))))())())((((()((())(()()()((()(()()))))(((()))(()))(())((())()()()()((())()())())()(()())((())(()))))(())()((()))())(())(()()))()))((()(()(()())(()()))()(()(((((())((()))(())))((())))))()()((()()))((((((((()((((()()())(()())())(((()())()()())))()))))(())((()(()()(()(())())((()))((())())))))))()())()()()(())))))())(()(())(()))(())(()(((()))(())(()()(()())(((()))))())((((()))((()()()(()(()((((())()))))))))((((())())))(()(()(())())))()(()(((((())()())(()())))()()))(())))()))())()(()()))(((((()))))))()())((())())((()))(((())()(())(())())()((((()())()())(()()((()))()))((())(()(()()(()()(())())))())()))))(()(()((()(()()()())()((()()(())(()(())())()()()(()())((())()())))()()))(((()))()()()))((())((((()(()((())()((()))))))()(()(())()())((()()()())()((((((((((())())))((()())(()(()((()())))())()())()()()((((((()((())(()())())))(())())))(())()()))(()((((())())(()((()))()))))()(()(()()))())(((((()()(((()((((((())(()))((()))))))()))))))((((()))())()))))(((())))))(()))((())))())((()((()()(((((()))))()))()((((((())(())(()())))()()()(((())(())())()))()))(())(()))))))(((((())()(()))(()))))(()()()))((())()(()))())())((()((()(()()()((((((()())(())))))()()))()))()(())(()((())((())())())(()()()(()(())))(())())))))(()))()())()))))())()((()()(()))()()())(((()(())()()())))))(((((((()(()())(()))))(()(())(()))(((((())))(())(())(()(()((()()))))(((()(()))()(())((((())))()()))))()()()())((()(()()))))))))())(((())(((()()()()()))(((())()(()))))((((((((())(())())()())))((())(((())(()()(((()()))((((()()()())())())))))())))())))((()()))))()))(()())))()(()()())((())(()((())))())(()(((()((()((()()(((()(()(()()(((()(())))()(()((((()))(())()(()(((()))))((((((()()))((())()(()))()()(()))()()()))(()()((()))((((()(((((()))()((()())()()())))))()(()))(((()(())))))(()(((())(((((())))((())()()))()()())()))(()(((()))))(((())((()))))()))())))())))((()())()(())(()()))()(((((())(((()(())()))((((())))()))(())()()())))()((((()(((()())())())())))))())())))((((((()))))))()())(()))()((((())(()()))(())((((())((())))()))())()(((()(()())()())())(())))()())))((()((()))(((()()())))))())((()()))(((()))))()()())((((((()))))((((((())()))((())))((()))(()(())))()))(((((()(()))()))())())))())))(()())))(((()((((()()))())(())))))))())))())))(()()))))())()(())((())))(((((()()(()())((((()()))()((((())()())((())()())))(((()((()))))((())((()))))))((()(()(((()(()))(())))))(()(()))))())()(())())())((())((()(()((()())(())))())(())()))))((()()()))((()())(((()())())())((((((()(((()((((()))()))(())()(()))()))()))()))(()())(((()()()((()())((((()(())()(()()))(()(())()()(())))))(()()())())))()(())())(((())()(()(()((())()))())()))(()))())(()))(())()((((()()))()()))(()()((()))())(((()()(())))(((()))()(((())((()))((())()))))(())()(()))())))))((()))(()(()))((()))((()((()()))((()()))(()))()(((())))((())((()())))))))))))()))))(()(((()()))(())(()))()((()(())))(()()(()))())(((()((()()(()()())()()()()()))))))))()))()(())()((((((()())()()()((()(((((())()()))())))(()((()(()))((()))(()))(())))(()((()((()(()((()))())(((()(()((((((()()(((((((()))()(()(())(((()()())(())()()()(()))))()()))))()(()(((((()))))(()(())()))))))((()((())())((((((()))))()))(((()())())))))))()()))(()()(()()()))((((())()(())(((()(()()))((())()()))((()(()()())()((()((())))(())))()))()()((()()))()((((((()()(()((())())))()(())(()()((((()))()()((())(((())(()))()(()((()())()((()()))(()(()((()()((()())()))())()(()((()))()(()((()((()()(())((()())(((()()())((()(()))(())((((())))())((()))())))()))()())))(()()())()))(()))(((()(())()()())(())()())(()((((()((((()())((((()((((((((())(())))((()))()()()(())()())()((()))(()()()())()())))))()(())()(()()())())))))((()))(((()())))()(()(((()()((((()())))))))()()((()()))))(((())))()))))((()()((()))((()(()(())((((()((())))())(())))((()()))))((())(((()()())()))((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()(((((((((())(()(())()())(())))())()))((((()))()(()()(((()(())))(()(()(()))((()()()))(())()()(((((())((())()))(((()((()(()()()())())()))))))())()))(()))()(()(()((())(())(())()))()))((((()(()(((())(((((()())(((((()))(((((())((((())(()))())()((((()))(())()()))(((()()(()(()(()((()())(()(()(()()()()))(()()))((()))((()))(()(()))(()((((((())((()(()))(()(()))))()))((()())))()()))())((((())))(()()()()((()))()()))()(()()((()))(())))((((())()()()))((()(())()())((())(()()()((()(()()))()))((())((()(()))))()()()()())((())())))()()))()())()())(()()()())((()()())((())(()()))))))()()()(())(())())()())((((((()()(((())(()(()()(()))()))(()()()((((())))(((()(()(((())))()))()))(((())(())()))()))))))()()(((())))((()())))()()))())))()(()()(()))())((())((((((()((((((()(()(())((()()()()()(()(())()())(((())((()()(())(()((((()()()(()()())(((()(()((()))()((()(())))((()))()()())((())())))()))()())))))))))((((()()()()))()())(((())()))()))))()()))(()()())(((()())))))))(((())()(()()(((())())((()))()))()(((()))((())()((((())(((()())))(()(((((()(())(()))()(())((()(())()))(()())(())))))()())()()()((()(()))()()((())()))()((()(((()((()())(()))()()()))()))))))))))(((())(((()(())))())(()())()((()((())(()())(())))((()()))()(()))(((())))))))((()))((()(())((((())))(()(()((()((()()(())))(()))))())()(())))))()((())())((())))(((()()()()))(((()(()))))))())()((())())))()((()))()(()((()((((()())())((())())()())()((((()()(())((()()))((()()(())(()))))))((()())))(((()()()((((())))(((((())(()()(((())(((()(()(()))(())((())))))()()))))(((()(((()()()(((())))((()(()((((())()((()(((()()))))(()))))((()())()())(())(())))))))(())((())(()(()))(()))()()())(()(()))((((()((()))()()())(()))()())((()))))()(())))))())()())))(()((((())()(((())((((()))()()))()))())()))(((()((((()()(()(((()))(()))))))))))()((()(()))())()()(()((())((())((((((()))))()()((())())(()()))(()(()()())(((()())()(())(())()())((())(())((()()))()(())()())))(()))((())())(((())((((((()()()))(()))))))()()((()))))())())(()())))()))())))()()((()(((())()())()()))()(()((())())((()(())((()()())(()()(()()()(())())()()()((())()(())))((())()((())))))((()()()))()(()))()()(()())()()(()))()))))(())))((()))(())(())(()))((())((())))((()))(()))())())(()()(())(()())()(()())))(()))))((()(()(((((()((()()(()((())))()()()()()(()))(()())(()()()))(()(())())(((()()())))(())()))(((())()((()())()()(()()))(())((()()())()())())))((())(())))(((()))()(()))))()))())()()(()((()(((()))()))(((((()()))))))(())()())(()))(()())((()))))))))))()))((()())())(()())))()((()()())(()(((()(())()()))))())()()((((((()())(()())))()(()))()))))))))()(((()))()))())))()())(()((()(()((()()()()((())))()()()()))((()))()))(())()))))((((()(((((()()())))(())((((((((((()((((()(()))()))()(()()))(()(())((()(()()())())))(())(((((((()((((())()())()))))())((())))((((()((((()(((()())))((((()))()())))()(()(((()))))(((()))(())((()))))()(((()()((()()(()(()(())())((()())((()())(((()(()(((()((((())))()((((())()(()())()()(((((((())((()())(((((((((()(((())(()())()(()()(())()()()((((()())))))))))())((()))(((()))()))()()))((())(((()()()()(()))))(())()((()(()()()))())))((()))))()()()))()((()))(((()()))(()((())()()))))((((((()()))())(())()))(())()(())())())())((())()()())()))()))((())))((())))()()((()((()())((()()()()((()((()(()()))))()(((())()))())))()))))()()())((()))((())))())()(()(((((((((()(()(()(())(((())()(((()))()))(()()()(((())())))))))())))(((()((((()())()())))(((())(()())()))(()((((())((()(()))((()()(())(((()))))()(((()))(()))(()))(()()))))((()))()())))(()(()(((()((()()((()())((()()())()(())))())())(())))()(()((())))()()())()))(()(())))(()(((()((()()))((((((()(())((()))(()))))()(((()(()))))()(()((())()))()(((()))())()()()()())((())(()))(((((()((()(())))()())(()()()(()((()()))(((((())())))()()((())()))))()((()()))(()))()()(())((()())(()))())()((()())))(()())(((())((()())(()((()((()((((()))()((()(()(()()))()(()(()(())((()))(())))))))(((()))(()())))((((())(()(()))())(()))())())(()(()))))))())))())(()()())((())())()))))())(((()((()))())))(()(()(())()))(()))()(()()))()()()())))))((((()(((((()))((((()((((((()))((()()((()(((()(((()()))()(((())()(((()()())(((()())(((((()))()())()))())()))))))()())))((((())((((((((()))(()())((()()((((()((((())))))((()((((())(())))(()))()))))(()()()((()))((()))))))))())()))(()))()(())()(())(()(()))))))())()((((()))(()(())()())(()(())(())))))())(()())))((()(())((())))((()()))(()()()()()(())()))()()(((())()))))())(()((())()()(()))))()))((()))(()()()(())))((((((()())))))(())((()(())))))(())()(())())()((()()()()()(()()())())))(((()()))(()))())((()(())((()((()(())()())))((()()))()()()(()))())))))()())(()()()())()(()((()(())()()((()())()()()())(())(()(())(((()())(()))()))))()())(()()(()(()))((()))(()(())))((((((()())())))))()))())()()(()()()()((())(()())(((())))()((())()))((((())))())(())((((())((())(()))()(()(()))()()()(()((((((())((())(())())))((((((()()))))()()))(()))()()(()))((())))((())())(()(((()())()(()()((()(()()))(())()(((()())())))))()))()))(()((()(()()((())(((()))(((()))((()))()()())()))((())))()))))(()))()(((((()))(()))))(((((((())(((()((()(()()())(()))))(()))))()()(()))((())((()(()(()(()))))))))())(()(()))))))())())(()((()())((((((()((())))()())()(()()))))()(()()(()))()())((()))((())((()))((())))(())((())(((()(()))(()(())))()()((((((((((()))))))()((((()())))))(())(())())(())()(()(()((()((())(())(())(((()((((((()(()))()))()()()())())()((()((()))((())()()())(()((()())()((()()()()))()(()))))())())()(())))())(())))))(()((((()()))())()(()()((()(((()(())(())))()(()(()(()((()))((()()())()))))())((())())))())(()())()()(()()()))()()()()((()))(()))((((()()()(((((()))()()())()()(()(()())((((((((()())()))))()()(()(())(()(())))))(()()()(()((((()))()()())()(())()))(((())((()(())))(((()()))))(()(()))((()()((()()(((())())(((()()((())))(()())))(()(()))()())())()()()((()()((()())(()())()))))(()())))))(())))))))()((((((()((()(()()(())(())()))(((())))()(()(())))))((()(())))()(((()())()()()))(())))))))(()())((()))()((()(()))))))))))()))((((((()(()()))(()(())((()()))))(())())))))(())()))((()((()(()))))(()())))(()((()()())()())((((((()))(()())()))))()(((())()()))()))(()))(()))))()(((((())((()())))(()()()))())()()()((()()))((())))(()()(((()()(()(()))()))()(()())())))()(()()(()()))))(())()(((())((()((()())(((())()))))))))())((((())()))))())(()(()()(()(()()((()))(()()((((()()(()()(()((())()(((())()(()))))()(((()(((()()())((()(()()((()((((()))()(()))((((())()))))))())()((())))(((((((()))()()))((()))())()(())))())))))((())((()((()((()())(()(()(())((()())((()())()))))((()()(()))(())(()))()((((((()(((()(()((()((((())((((((()(()))((()()))))())))(((())))()())()()))((())(())()(()(((())()))())())(()(())()()))(((())))()()))()((())()(())((())(()()))))()()()())))(((()))()))()())()))()((((((()())((()()()())()(()(()(()()())))()(((((()(()(((((()(((()()()))()))((((()((()()(()((()()()))()))))(()())((((()()((()())()))))))))()))())())(((((()((((((()()(()()(())))()(())()))()(())((((())))(())()()((())((((()((())))(((())(((((())(((()(())())(((((())()()()))((((()))))()()()())))())(()((((())(())())))))()()(())))))((()((()()()())()))(()((((()(((())(())(((())(()))())((((())))))(((())(()((()(()())(((((()((()()()))()())(())))()()()())())())(())((((()()(((((()())))((()((()()(((())))))((())())))(((()(()(()))))(()))(()(()(()((())()))(())()()())))(()((())))((((())((()()()()(()()))(())())))(()(()))()((())()()))))(()))((()(((()))()(())(()(()))(())()(()()()()))(())())))))()())()(()(()()))(())))()))(())(((()(()(()()())))((((()())()(((())()()()(())((((())()()()((((()))(()())())))((()())()()()()))())())()))())()())()))))(()(())(())(((()()))(()(()))(())(())))(()(((())((())(()()))(())(((()(()((()()))())((())))))(()())(((()()((())))))((()())((())))))))(()(()(())((())(()(((()(())))))()(()(()((())((()(()(())(((()(((()()((()((((((((((()()((())())()())(()())))(()(()()()()(()))())()(()))))))(((())(((((((())(()(()((()))()()(()()()(())()()()()())())()))(()))(((()))))(((()((((()))()))())))))))))((())(()())))(())))()((((()))()(())()()()()(()((()()))))(((()()))()))()))))))()(()(()())(((())())()))())()(()))(()))))(()(())())()())())((((((()((()))))(())())()(()()(()())()())))(()()()(()))))()()(())((((()))((()()(((())))()(()))()(((()()))))))()((())()))(((()()))(((()))(((())((()()))))()()()(()()(()(())()((()(()()()())()))))())))())()()))(((()()))))()))))))(((())((()))()(())()(((()))))(()((((()(()()())()))(()))()))((()))((((()(((((()))))))(()(()((()()))))))((((()))()((())((()(()()(())())()))(()()))(()((()(()())(())(()())()()()(()(((())(())())()))))(()())))))()())()))((((((())(()((()()())())())((()((())(())))())()()))())((((())(())()))))()((()((()())((()))((()(()(()()))))()())()())))))((((((()(()())()()(())((()((((((()(()))()(())())())(((((()))()(()))))))))))(()()((()((((()(())()()((()((()(()))()(()))(()(())()()()()()))()())()(((())())))))(())())())(()()((()))))))()())()))()())(((((()))))()))())((((())((((()())))))))))(()(()((((())(()))))))((()())))))))(((()())(()(())())))))))))(()(((()((()))(()())(()())))))()(()())))())()(()())()))(((((()()((((()(())))()((())))((()))))))())()()))))())(())()(()()()((())))(()()))((()())((())()((()()(())()))()))((())))((((()())(()))))((())))(())()()))()))))()))())))())(()()()(())))()))()())(((()()(()))()((((((()(()())()))()()(()()))((((((()(()))())(())))())))()()(()(()()())))())(())(()((()((())((((())))())()())((()))((((((((()())((()())((()(()))))()(())))()((()))())(())))(((()()(()())))((()))))((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))(())((((())(((())()((((((()))(((())((())())))(((()))(())())()))()))(()())()(((()(()()(())(()((()))()()(()((()(())))))(()((((()(((()(())(()))))))))))())()))()(((())(()()()())())()(()())))((()(())(())((())()))(()(((())((())))())()((()()(())))()()))()()))))(()))(()())))(()())(()(())(())((())(()((()())))()()(()()()((((())()((())()))((()))())))()())(()((((())()))()(()()))(((()(()(((())))((((((()(((()))((()))((()))(()))((())))))()()))))()())))))))(((()(())(())(())()))())(())((((()(((()))()()(((()()((())))()((()((()(())))((()())((((((()()(()(()()))(()(((())()())((()))))()))(()()))))()()()()()))((((()))))(()())))()))(()((((())())))())()))(()))))()()))()()()((()))(()()))(())()((((())()(((())())()())))))())()(()()())((()))))(())))()((())(())()))))(()()(()))()(())(()))))())()()()())())())))))(((()()(()))))))((()(()())()))())))))(((())))))(()()(()))()()())()()((((((())())()()(()))()))))(()))((())()))()))())()(()()()((((((())(())()))((()(()(((()()((((())(()((((())(((()))))((((((()))(((((()(()(()))((((((()())(())))()(())))((()()()(())()(()((()))()(()))(())(((()()(())))(()(())())))())())))(()))))((())(()(((()))))()(())(())))((((((()))((()))()()))(((((()())((((()(()))))((())(()(())))()())(())(()()(())(((((((()(((()()(()()((()((()()())((()))))())(()(((()()()))))()(((())))))))(((())(()()()))))(((())())())))())())()(()))(()((()))(()()))(()())()())(((()(()()())(((())(()))((((()))))())(())()()(()()))(((())()))((((())))()))()((()())))((())((())()())))))))(()()())(((())(())()(()()(())()))((()(()))()())))(((((()(()())((((((()()()(()))(()((((())(((()())((((())(((((((())))())()((()())))((()()(((())()())))(()((()((()()())(()))((())))((()((()((()))()((((()()()))())(())(())(()())())))((()()(()))(()(((((()))))((()())))))()())()())()))())))))((())()()((((()())())(()))()))(((())(())()))(()()))))())()(()))()()(()()()))()))(())))))()))()(((((()(()((()))()(())()(()))()())))(()))()()(((())()))))())(()))((((()()))()((())()))()(())(((())))(())((()())()(((((()))(())))(())((()((()))((()(()(()(())((()())))()())()()(())(())(()())(()()))(()))((())()()()))((()())())))()((())))))(((())(()(()())()(())))((()))()())))())(())())))))))(()(((())))(((()))))(((()))())(()()()())(()())()(())())())((((())((((()))()()((())()())())()()()(())))))(()))((()()))())))))())(((()()())(())()((()))())((((()))((((()()))(((()((()))(((())(())((())))()())()))))(()())()())(()(())))(()(())((())(()))())()())))()(())((()()))((((())(())((((()(())()())(())()(((())))))((())))))())()((()))(())())(((())))(((()(())(((()((((()(()))(())((())(())()())(())((())(((()))))(())())(()))()()()))(()))))()(((((()())()))))((((()))))()((()()))()())))((()(())((())()))(())()(()()(())()((()))()))))))))))()()))(()()(((((())(((())(()(())()()())())())(()()))))())((()((()(())()((())())()))))))(()()(()(()(()(()))))()())(()((()())()))()(()(()()(()((((((((()()((()()(()()((((((()()())())(())((()))(()(((()))()(()))(((((()()())((((()()))))))((())()()(()))())))(((())((()))()()()()(()())((((()()))))((()(()()(())))))))()))()())))(())())()))()(())())()(())())(()(()))(()(())(()())()((())((((()))))))))()()))(()(())((((())())))(()))(((((()()))()))(((((((())()()))())((()(()))))))((()))((()))(()())((()())()))(((()(())((((()()())(()()()(()(()(()()(()()())))))()())(())(()))())())(())((()()(()(())))()((()))())()))(()()))(()())()()))()())(())())))))()(())())(())))))()(((()(()))(())()()())(()())(((()))())(()))(()))()))()(())(()((((()()))()))())()(((()))()(()(())(((()))))(((()(()((())((()))(()(((((((())()))(())()()(((())())))()(((())))))(()()(()())()(()))())()))()))(())())(((())(()()))))()(()))(()()()))))))(()()))))()))(())()()))))((((()(((()))()(()())))()))(()())(()((())()())()())(()(()()))(()((()(()))()))(((()()()))))())))((((((()()))))))()))())))(()()))()))()(()())()()((()(()((((()())(()()()))(((()((()()()())(()))()()())(())(((((())()()(())()))())((())()())))()()())(()()()))())(()(()(((((((()(())()))()(((()))(((()()())(()))(()((()))(((())()()((()()))())(((((()())(()()()((()(((()(())()))())()()()))))()((())(()())((((((((()))(()())()(()()()(()()(())))((()()))())))()(()(())()()))()())(()()()((((()))()(()(()()))()()))(((((((()((()((((((()))((((())))(()((((())()()(())())()())(((())()(((((()((((((()((()())))(())))))(((()(())())((())))((()((()))))()((())(()(((((()))()((()()(()()))))()(()()()))())(())((((()((())())()((((())()(()()())())())))(()()()(()))))))((()(()()()())())))))))))))()))((()()()))(((((()))(((((((())(())()(()((((()(((()(()))()()()(()(((())())))))))(())))()))((())(()))))()((((())))())(()()))))()))(()))(()))))))())())(()())))))((()())((((())(((()))(())(()(())((((())(())()(((((()()(()()))))))((()(()()()))(()))(())))())()))(()((()((()))())(())))((((()(()(()))((((())(((())()((((((())()))(())))))((()(((()))())())))()()))())((()))()))))())()())())(((())()()))()))))()(()(()(()())(((()()(())())()())((()))()))()())))))(())(())((()(()()((())))((()))())(((()())(((())()))))))()(()()(())))()))()(())())))(((()))((())((((()(()(()))())())()())(()))))())()()(()))(((()))(()))((()))))(()))))(()()))))(((()(())))(((())))()((()()((()))((())()()((((())(()())(((()(())(((())))()(()))((((((()))()()))(())(()())()((((())))))))())(((()(())(((())((()())()))((())))()(())))(((()(()(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))())(()))())(()((()()(((()(()())()(()()(()((()()())(()))()()))())(()(())()))())(()()()()(()))((())())(((((()(()())())())))((()((()(())(()((()())(()()))(((())))()()))())((())()(())))))))()()()))()))()()))))())()()(()((())))))()(()((())(((()(()(((((())((((())(()()))())())())))(()))()((()(()())()((())(())))()(()())())))()))()(((()(())))(((()))()()()))()(()()))(()()))()(((()(())()(()(())))()((()(()))(())())()(()(()((()))()(()(())))())))()((((((((()()))())))(()(((()))()())(()))(()((())))())(((()(()(((((())()))()))))()((()))))))()()((()((((((())))((()(((())((())(((()(()(())(()()))))())()(())(((((()(((((()()())))()(())))(()(())))()()))()()()(())))))))(((((((()()))(()((()((()()))))(()()((()())))(()()))()))()))(((()))(()((()()()((()))))(((((())())((()))()())()()))(((()()))()(()((()))()(()()))())()()(()())()(()(((()((())))())()()(())()()(()()((()())(())))((())()))))()())())(((()()))())())((()))))))(()(())()()((()()))))()((((((())())()))((((()))()()())((())))))((()(())((()))))()((()()))()()()()()()((((())))()())()()(()((((()((((((()(((()())()()()())((())(()()))))(()))((()))(()()()))(((()())()())((()(()()()((()()((())(((()))((((())(())(()(())((()())((()()(((()))))((()()))())(()(()))(())(()(())(()))(((()()))()())))()())()))((((())()))()))(()))))))))((()()))))()))()()((()()())))()((((()(())())(()))(()(()()(((())(()))())((((((()()((())()()))()())))()(()(()(()))()())()((())()))()())))))()()(()()(()()())))())(()((()()(()))()(()()))(()()()()())(())()())())()((()()(()())))()(()()(((()))))(()((((())(()()()())(()()()()()))((()(((()))(((((((()))())(((()(()((((()(()()((())(())(((()))))())(())))))))))))))))))))
