[MUSIC] On the whole, for a program to be useful it needs to get at least some information from the user. With this data, the program can take actions that are relevant to the user, instead of generic actions, like printing hello world. Data can be provided to a computer in a bunch of different ways. For example, on a website you might input data by entering text into text fields or clicking links. If you're using a mobile application, maybe you'll click on buttons or select preferences from a drop-down menu. In a command line program, you might provide additional data by passing strings this parameters to the program, or you could have the program ask you for data interactively. All of these various platforms, programs, and apps process data differently. Some might take the contents of a file as data to be processed, others gather data from other sources and process it in the background. Remember our earlier example, when we automated the process of identifying and removing duplicate emails? There, the data provided to the program was the list of emails, which would usually be given in a file that lists the emails one per line. Whichever way your application gets the data, it will need to come from somewhere. For our first examples in this course, we'll just have the data as its own line in our block of code. This is limited, but straightforward. Later in this course, and in upcoming courses, we'll introduce you to better ways of feeding data into your code. For now though, let's see this idea in action in a very simple example. By having the name separate from the call to the print function, we're making the line of code that calls the print function generic, while still personalizing the greeting. If we then wanted to say hello to a different person, we only need to change the name, but the call to the print function will remain the same. Pretty simple, right? Next up, we'll learn a few other easy things that you can get Python to do for you.