4 of 4 added 1267 characters in body

# Jelly,  27 25  24 bytes

-1 thanks to Erik the Outgolfer (use a zero instead of a space character)

Ż€2¦Œpḟ€0ZḢŒuEƲƇXż“'s“”K


A full program accepting an argument in the form of a Python formatted list of lists of strings which prints the output to STDOUTt.

Try it online!

### How?

Ż€2¦Œpḟ€0ZḢŒuEƲƇXż“'s“”K - Main Link: list of lists of lists of characters
€ ¦                     - sparse application...
2                      - ...to indices: [2]
Ż                        - ...action: prepend a zero (place holder for no adjective)
Œp                   - Cartesian product (all choices, including invalid ones)
€                 - for each:
ḟ 0                -   filter out any zeros
Ƈ         - filter keep those for which: