After you meet Mr. Fuji at the top of Pokémon Tower and get the Poké Flute, you can go west from Celadon City to Route 16 and wake the sleeping Snorlax.
Explore the Route
Chop down the tree to the north.
In the grass in Route 16, you can find Rattata, Raticate, Pidgey, Pidgeotto, Doduo, Chansey, and others.
Look in the northern part of the grass to find a PP Up.
There is a hidden Awakening near the two gatehouses on the left, just below the fence.
Go into the northern of the two gatehouses, and go west to the next area.
Go west and into the house, and talk to the girl to get TM14 Fly.
Go west and you can battle Punk Guy Lao, who has a level 36 Onix and a level 36 Muk. You get 1008 Pokédollars and 3 Poké Balls for winning.
Go north and you can battle Roughneck Koji, who has a level 36 Raticate, a level 36 Koffing, and a level 36 Rhyhorn. You get 1008 Pokédollars and 3 Poké Balls for winning.
Go southwest and you can battle Punk Guy Hideo, who has a level 36 Arbok and a level 36 Fearow. You get 1008 Pokédollars and 3 Poké Balls for winning.
Go east through the gatehouse, then go east and chop down the tree, then go south, then west into the southern gatehouse. Go upstairs. If you have caught 40 species of pokémon, one of Professor Oak's assistants will give you a Ball Set U, which contains 30 Ultra Balls.
Go west to the next area.
Go west from the gatehouse to find a set of 3 Great Balls.
Go east, then south, to find a Super Potion.
Go south and you will battle Camper Ruben, who has two level 35 Psyducks. You get 700 Pokédollars and 2 Great Balls for winning.
Go south to reach Route 17.