Step 1: Divide the input text into individual statements and the final question.
Step 2: Create a Truth Map to keep track of the assumed truthfulness of each person mentioned in the statements. No truth values are assigned initially.
Step 3: Analyze Each Statement. For each statement, identify the subject person (who makes the statement), the object person (who the statement is about), and the expected truth value (whether the object person is said to tell the truth or lie).
Step 4: Update the Truth Map based on the analysis of each statement. If the statement's claim aligns with the current assumption about the object person's truthfulness, mark the subject person as truthful. Otherwise, mark them as untruthful.
Step 5: Since some statements' validity may depend on others' truthfulness, iteratively analyze the statements multiple times if necessary until no more changes occur in the truth map.
Step 6: Using the completed truth map, determine the truthfulness of the person in the final question.
Step 7: Based on the evaluation, output "Yes" if the person in the final question is determined to tell the truth, otherwise return "No".