input: Write a python function to parse a given JSON string and extract specific data such as name, age, address, and phone numbers.
  assert extract_data('{"name": "John Smith", "age": 33, "address": {"street": "123 Main Street", "city": "New York", "state": "NY", "zip": "10001"}, "phone_numbers": [{"type": "work", "number": "212 555-1234"}, {"type": "cell", "number": "646 555-4567"}]}') == ("John Smith", 33, "123 Main Street", "New York", "NY", "10001", "212 555-1234", "646 555-4567")
  assert extract_data('{"name": "Jane Doe", "age": 28, "address": {"street": "456 Elm Street", "city": "Los Angeles", "state": "CA", "zip": "90001"}, "phone_numbers": [{"type": "work", "number": "310 555-7890"}, {"type": "cell", "number": "323 555-0987"}]}') == ("Jane Doe", 28, "456 Elm Street", "Los Angeles", "CA", "90001", "310 555-7890", "323 555-0987")
output: import json
  
  def extract_data(json_string):
      data = json.loads(json_string)
      
      name = data['name']
      age = data['age']
      
      address = data['address']
      street = address['street']
      city = address['city']
      state = address['state']
      zip_code = address['zip']
      
      phone_numbers = data['phone_numbers']
      work_phone = next(phone['number'] for phone in phone_numbers if phone['type'] == 'work')
      cell_phone = next(phone['number'] for phone in phone_numbers if phone['type'] == 'cell')
      
      return (name, age, street, city, state, zip_code, work_phone, cell_phone)