Each can is filled with 8/4*3=<<8/4*3=6>>6 gallons of water.
A total of 6*20=<<6*20=120>>120 gallons of water is filled in 3 hours.
In 1 hour, 120/3=<<120/3=40>>40 gallons of water is filled.
25 full cans can hold 25*8=<<25*8=200>>200 gallons of water.
It will take 200/40=<<200/40=5>>5 hours to fill 25 cans to full capacity.
#### 5