how to calculate median of grouped data if group size is variable

#1
I learned in school that Median = L + (n/2-cf)*h/f
where L = lower limit of median class
n = no. of observations
cf = cumulative frequency of class preceding the median class,
f = frequency of median class,
h = class size (assuming class size to be equal).

I used to use this formula for grouped data of fix width like
marks ........ no. of student
0 - 10 .......... 5
10 - 20 ........... 3
20 - 30 ......... 4 and so on.
here grouped data is of fixed width 10=10-0=20-10=30-10 ans so on

BUT how will I calculate median if width is not fixed like

population ........ no. of town
5 - 10 ................. 500
10 - 20 ................. 100
20 - 50 .............. 50
50 - 100 ............. 30
100 - 200 ............. 20
200 - 500 ............... 10
500 - 1000 .................. 3
1000 and above ................. 2

how will I calculate median in this case