339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339 339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339339