%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 dubboremoting客户端(dubbo monitorservice)-安卓版-亚星国际官网 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1

dubboremoting客户端(dubbo monitorservice)

菲律宾亚星开户 376 3

千米网在早期实践中采用了 jsonrpc 作为 dubbo 的跨语言协议实现,并开源了基于 jsonrpc 协议下的 python 客户端 dubboclientpy 和 node 客户端 dubbonodeclient,使用 python 和 nodejs 的小伙伴可以借助于它们直接调用 dubboproviderjava 提供的 rpc 服务系统中大多数 java 服务之间的互相调用还是以;Dubbo是基于NIO的非阻塞实现并行调用的,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小,异步调用会返回一个Future对象 24Dubbo不支持分布式事务 25Dubbo必须依赖的包 Dubbo必须依赖JDK,其他为可选 26Dubbo使用过程中的问题 Dubbo的设计目的是为了满足高并发小数据量的rpc请求,在。

Dubbo 使用 jsonrpc4j 库来实现 JSONRPC 协议,下面使用 jsonrpc4j 编写一个简单的 JSONRPC 服务端示例程序和客户端示例程序,并通过这两个示例程序说明 jsonrpc4j 最基本的使用方式首先,需要创建服务端和客户端都需要的 domain 类以及服务接口先来创建一个 User 类,作为最基础的数据对象接;Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成Dubbo是一款高性能轻量级的开源Java RPC框架,它提供了三大核心能力面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现Remoting网络通信框架,实现了;remoting 远程通讯基础,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求 Clu;thread pool is exhausted, detail msgThread pool is EXHAUSTED! Thread Name DubboServerHandler , Pool Size;可能是因为直接修改代码,工程reload了, 并且,连过了数据库登录等,才出现了上述报错信息原因是因为在tomcat重启的时候,之前的tomcat的线程还没有完全关闭,最新启动tomcat就会报这个异常4 原因分析 解决方案 在dubboproviderxml增加超时时间;使用 @ 发布dubbo服务的时候,当服务类没有加入@Transactional的时候没有问题但是当加入事务后@Transactional, dubbo的 AnnotationBean 扫描 类执行下面的代码的时候就获取不到对应的注解,也就发布不了服务究其原因,是因为Dubbo提供的注解没有@Inherited元;Dubbo是一种服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成主要的核心部件Remoting 网络通信框架,实现了 syncoverasync 和 requestresponse 消息机制RPC 一个远程过程调用的抽象,支持负载均衡容灾和集群功能 Registry 服务目录框架用于服务的;Caused by Waiting serverside response timeout by scan timer start time 20181113 101445824, end time 20181113 101446838, client elapsed 42 ms, server elapsed 972 ms, timeout 1000 ms, request Request id=0;Dubbo是阿里巴巴公司开源的一款高性能服务框架,其目标是通过高效RPCRemote Procedure Call机制,简化服务的调用与交互Dubbo的优势在于其能够实现服务的输出和输入,同时具备出色的性能,支持Spring框架的无缝集成,使得应用开发更为便捷其核心组件之一是Remoting,这是一个网络通信框架,特别设计了sync;在心跳检测方面,Dubbo采用双向心跳机制,客户端和服务端定期发送心跳请求以维持连接此外,还通过定时任务处理重连和断连,确保连接的稳定性和可靠性总的来说,Dubbo的网络通信模块精细且灵活,通过多种协议和优化技术确保服务调用的高效和可靠性。

dubboremoting客户端(dubbo monitorservice)-第1张图片-亚星国际官网

Dubbo的注册中心通常使用Zookeeper,但也可选择Redis或Memcache集群容错机制包括自动切换恢复快速失败安全失败和并行调用等策略服务分层结构包括业务逻辑层Biz层RPC层Remoting层和SPI层,提供了丰富的扩展性和灵活性以上是对Dubbo常用面试问题的梳理,希望对理解和学习Dubbo有所帮助更多面试;我们尝试使用Fastjson库将异常字符串转换为RpcException,但遇到了问题异常信息指出quotCan not set field to 接口异常信息中@type字段明确指出为RpcException,为何仍出现上述异常深入研究后,发现。

dubboremoting客户端(dubbo monitorservice)-第1张图片-亚星国际官网

其中,dubbo协议采用单一长连接和 NIO 异步通讯方式,适用于小数据量大并发的服务调用场景,以及服务消费者机器数远大于服务提供者机器数的情况它基于 mina117 和 hessian 321 的 tbremoting 交互实现rmi协议基于JDK标准的javarmi*实现,采用阻塞式短连接和JDK标准序列化方式Hessian协议用;双向通信中,服务提供方和消费方都通过心跳机制来检查连接状态,客户端和服务端都设有定时任务,确保数据的及时交互在异步调用中,Dubbo通过CompletableFuture实现从异步到同步的转换,并处理并发调用时的数据一致性问题;其实之前很早就看过Dubbo源码中关于超时这部分的处理逻辑,但是没有记录下来,最近在某脉上看到有人问了这个问题,想着再回顾一下开始从dubbo的请求开始,看看dubbo266在超时这块是怎么处理的#request。

标签: dubboremoting客户端

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1

发表评论 (已有3条评论)

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1

评论列表

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
2024-12-26 09:31:19

题 Dubbo的设计目的是为了满足高并发小数据量的rpc请求,在。Dubbo 使用 jsonrpc4j 库来实现 JSONRPC 协议,下面使用 jsonrpc4j 编写一个简单的 JSONRPC 服务端示例程序和客户端示例程

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
2024-12-26 11:15:39

它基于 mina117 和 hessian 321 的 tbremoting 交互实现rmi协议基于JDK标准的javarmi*实现,采用阻塞式短连接和JDK标准序列化方式Hessian协议用;双向通信中,服务提供方和消费方都通过心跳机制来检查连接状态,客户端和服务端都设

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
2024-12-26 03:36:11

DubboServerHandler , Pool Size;可能是因为直接修改代码,工程reload了, 并且,连过了数据库登录等,才出现了上述报错信息原因是因为在tomcat重启的

%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1