# What's your input
**Disclaimer! I do not own any of the challenge files!**
```nc mercury.picoctf.net 39137 in.py```
## in.py
Looking at the `in.py` file that was provided we see this:```py#!/usr/bin/python2 -uimport random
cities = open("./city_names.txt").readlines()city = random.choice(cities).rstrip()year = 2018
print("What's your favorite number?")res = Nonewhile not res:    try:        res = input("Number? ")        print("You said: {}".format(res))    except:        res = None
if res != year:    print("Okay...")else:    print("I agree!")
print("What's the best city to visit?")res = Nonewhile not res:    try:        res = input("City? ")        print("You said: {}".format(res))    except:        res = None
if res == city:    print("I agree!")    flag = open("./flag").read()    print(flag)else:    print("Thanks for your input!")```What happens is, that we have to enter `2018` as our first input to pass the check, and then a random city is picked... which we somehow have to guess. Hmmm. But that shouldn't be possible right? Well check out this part `print("You said: {}".format(res))`. 
## Testing
I alawys open a python terminal to test my theory, so here it goes:```pycity = 'London'res = input('City? ')print("You said: {}".format(res))```
Running this piece of code in a python 2.7 interpreter (online [here](https://replit.com/languages/python) ). I run it and enter the following:```City? cityYou said: London```Great! This confirms my suspicion. In python 2 we can just input the name of a variable, and it will be interpreted as the variable! 
## The solution
This is how my connection went:```nc mercury.picoctf.net 32114What's your favorite number?Number? 2018You said: 2018I agree!What's the best city to visit?City? cityYou said: BurlingtonI agree!picoCTF{v4lua4bl3_1npu7_6269606}```Great!