The selections were based on factors like restaurants, shopping ... the most charming small town in the Sunflower State and Hannibal, Missouri, as the most charming small town in the Show Me ...