original = "In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed evaluation) and which also avoids repeated evaluations."
print("Here is the orignal:", original)
print("Let's modify it.\n")

noun1 = input("Give me an abstract noun \n(a noun for an idea, quality, or state rather than a concrete object): ")
verb1 = input("Give me a verb: ")
adjective1 = input("Give me an adjective: ")
verb2 = input("Give me a verb in the third person \n(a verb that ends in an s, like \"eats\" as opposed to \"eat\": ")
noun2 = input("Give me an abstract noun \n(a noun for an idea, quality, or state rather than a concrete object): ")
preposition1 = input("Give me an preposition \n (a word used to link other words, such as about,	below,	excepting,	throughout,	within, above,	beneath, for,	out,	under): ")
noun3 = input("Give me a noun: ")
verb3 = input("Give me a verb in the past tense: ")

print("\nHere is your new version:")
print("In programming", noun1, "theory,", adjective1, "evaluation, or call-by-need is an", verb1, "strategy which", verb2, "the evaluation of an", noun2, preposition1, "its", noun3, "is needed and which also avoids", verb3, "evaluations.")