1 19999 5000 3 san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san san