I have a DataFrame that looks like this:

```
   SNFrom  SNTo  Name  Age
0       1     4  John    8
1       5     7  Jack    6

```

Using `pandas`, I want to produce a result like this:

```
   Name  Age  SN
0  John    8   1
1  John    8   2
2  John    8   3
3  John    8   4
4  Jack    6   5
5  Jack    6   6
6  Jack    6   7

```

The general rule is that I want to add new rows, based on the ranges specified in `SNFrom`, and `SNTo`, so for example, `John` should have rows 1-4, and `Jack` should have rows 5-7.