Where do you get a masterball in pokemon firered?

In Pokemon FireRed, the Masterball is obtained by defeating Giovani and the Rockets in th Silph Co. building in Saffron City. (Once Giovani is defeated, the president of Silph Co. rewards you with the Masterball)

(warning)you also have to defeat Gary
The masterball is given by the president of silph co.
you get the master ball at the top of the tower in saffron city from the president guy. you must beat the team rocket boss to get it.