Senshi retired from the dungeon crawling life. He started a catering service. It's expensive but worth it.

Available dishes change every few months. Right now, there are three:
- Eisbein-Style Cockatrice (190 gp)
- Mandrake and Basilisk Omelet (83 gp)
- Ice Golem Savory Egg Custard (72 gp)

Write a program where Senshi types in
- The number of each dish a customer wants (integers from 0 to 10)
- Whether Laios is coming along (Y or N, case-insensitive, extra spaces OK)
Validate all the inputs. Keep asking if the user enters invalid data. Examples below.
The program outputs:
- A hunting list
- The total price

Senshi has common ingredients already. It's the rare things he needs to hunt. Requirements for each dish:
- Each Eisbein-Style Cockatrice: one cockatrice shank, one anti-petrify herb
- Each Mandrake and Basilisk Omelet: one mandrake, one basilisk egg, one basilisk shank
- Each Ice Golem Savory Egg Custard: half an ice golem, one harpy egg, one mandrake
Each cockatice and basilisk has two flanks.
Round up hunting requirements. So if three basilisk shanks are needed, Senshi will have to bring back two basilisks.
Ask your friendly neighborhood AI how to round up, with a prompt like: "python round up" or something. It should tell you about math and ceil.
If Laios is coming... you know what he's like. He wants one of each dish just for himself, even if the customer didn't order it. So Senshi will need extra ingredients for one of each dish, no matter what the customer ordered.
The hunting list should only show items where more than zero are required. So if the number of golem needed is zero, don't show it on the list.
If the customer orders nothing, output a message and stop the program. Laios could be tying to trick Senshi.
Sample output. Notice how the cockatrice and basilisk numbers are rounded up.
- Senshi's Catering
- ======== ========
- Please enter the number of each dish ordered.
- Eisbein-Style Cockatrice: 1
- Mandrake and Basilisk Omelet: 1
- Ice Golem Savory Egg Custard: 1
- Is Laios coming? n
- -----------------------
- Price: 345
- Huntling list
- Cockatrices: 1
- Anti-petrify herbs: 1
- Mandrakes: 2
- Basilisk eggs: 1
- Basilisks: 1
- Ice golems: 1
- Harpy eggs: 1
More output. Laios is coming this time. The price stays the same, but more ingredients are needed.
- Senshi's Catering
- ======== ========
- Please enter the number of each dish ordered.
- Eisbein-Style Cockatrice: 1
- Mandrake and Basilisk Omelet: 1
- Ice Golem Savory Egg Custard: 1
- Is Laios coming? y
- -----------------------
- Price: 345
- Huntling list
- Cockatrices: 1
- Anti-petrify herbs: 2
- Mandrakes: 4
- Basilisk eggs: 2
- Basilisks: 1
- Ice golems: 1
- Harpy eggs: 2
Another example.
- Senshi's Catering
- ======== ========
- Please enter the number of each dish ordered.
- Eisbein-Style Cockatrice: 0
- Mandrake and Basilisk Omelet: 0
- Ice Golem Savory Egg Custard: 0
- You don't need to go hunting.
Another example.
- Senshi's Catering
- ======== ========
- Please enter the number of each dish ordered.
- Eisbein-Style Cockatrice: -1
- Sorry, please enter a number between 0 and 10.
- Eisbein-Style Cockatrice: 33
- Sorry, please enter a number between 0 and 10.
- Eisbein-Style Cockatrice: some
- Sorry, you must enter a whole number.
- Eisbein-Style Cockatrice: 2
- Mandrake and Basilisk Omelet: eleventeen
- Sorry, you must enter a whole number.
- Mandrake and Basilisk Omelet: 3
- Ice Golem Savory Egg Custard: a few
- Sorry, you must enter a whole number.
- Ice Golem Savory Egg Custard: 5
- Is Laios coming? y
- -----------------------
- Price: 989
- Huntling list
- Cockatrices: 2
- Anti-petrify herbs: 3
- Mandrakes: 10
- Basilisk eggs: 4
- Basilisks: 2
- Ice golems: 3
- Harpy eggs: 6
Use at least two functions.
Upload your solution here, not to Moodle. The usual coding standards apply.