נננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננננ