ablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablavablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablaablablablablablablav