Loop problem

Hi,

I faced a problem when I try to populate a database using the following script

DECLARE
a NUMBER := 1;
b NUMBER := 91317010001;
c NUMBER := 1;
BEGIN
WHILE a < 5001 LOOP
insert into RGC_IMS_REGISTRATION (IMSRegId, Type, IMPI, IMPU, CP_ID, Location_For_Registration, Enabled, AGCF_ID) values(a,1,'GW31701/'||c||'@GW31701.alcatel.be','sip:+'||b||'@GW31701.alcatel.be;user=phone','','alcatel','t','asim');
commit;
c := c + 1;
b := b + 1;
a := a + 1;
END LOOP;
c := 1;
b := 91317020001;
END;
/

Problem faced by me :

I want to put the same loop for 50 times and every times the balue of "WHILE a < 5001 LOOP" will be increased by 5000 of exiting value ( means first time 5000,2nd time 10000 3rd time 15000 and so on.

Also the value of b NUMBER := 91317010001; will be increased as 91317020001, 91317030001 .... so on for 50 times.

Please suggest me the code

Is this PL/SQL?