Мертвий код сидить там і нічого не робить, дивиться на нас, знаючи, що він ніколи не буде виконаний ... але сьогодні ми можемо помститися.
Специфікація
Вхід буде багаторядковим рядком.
Кожен рядок може бути або призначенням, або виразом .
Призначення
Призначення має форму, <name> = numberде ім'я - це послідовність букв, підкреслення та цифр, але не починається з числа.
Змінні можуть бути призначені будь-яку кількість разів.
Вираз
Вираз має форму <var_name OR number> <operation> <var_name OR number> ...
Вираз може бути будь-якою комбінацією:
- Змінні вже визначені
- Основні арифметичні оператори
+-*/ - Числа (цілі числа)
Очікуваний вихід
Вивести рядок з резервуванням завдань , завдань , які ніколи не використовуються будь-яким з виразів після нього, вилучені. Зверніть увагу, що призначення також можуть бути надмірними, якщо додаткове присвоєння тій же змінній виконується до того, як буде виконано вираз із використанням змінної.
Тестові кейси
в
a = 10
a * 3
з
a = 10
a * 3
в
foo = 8
2 - 1
a = 18
з
2 - 1
в
a = 10
a = 8
b = 4
ab = 72
b / 6
b + 1
з
b = 4
b / 6
b + 1
в
a = 1
a = 2
a + 1
з
a = 2
a + 1
в
FooBar1 = 0
Fuz__ = 8
Fuz__ / 1
з
Fuz__ = 8
Fuz__ / 1
в
a = 1
a + 1
a = 2
a + 1
з
a = 1
a + 1
a = 2
a + 1
в
a = 1
1 / 5 * 8 + 4
з
1 / 5 * 8 + 4
в
a = 1
a + 1
a = 1
a + 1
з
a = 1
a + 1
a = 1
a + 1
в
a = 7
5 / a
з
a = 7
5 / a
a = 1; a + 1; a = 1; a + 1;:? Де другеa = 1можна відкинути лише тому, щоaраніше було встановлено таке ж значення (1).