Google Sheets split into new rows while duplicating surrounding row entries

I am creating a spreadsheet for a service drive my non-profit is doing. As people sign up through a Google Form, the information comes in like this:

Undivided

However, to make it easier on our volunteers, it would be beneficial to have the information split up into a smaller pieces and be more uniform.

I need a way for the sheet to do the following:

  1. A way to copy the Parent’s First and last name, as well as their Phone Number and Building Pickup number (I.e. Columns A-D), while giving a separate row for each of their children (+their needs on the same row.)
  2. A process that can handle a variable amount of children
  3. An automated process of handling this information.

The sheet should look like this:
divided

I would greatly appreciate your help!