 All right guys right now I'm going to be going over the functions lab 1 question 4. So for this question we're given some information about the properties of a function and what it's doing in a code and we have to try and figure out what the function signature is. So the function signature is essentially the same thing as the function declaration so it includes like the name, the return type, the inputs, all that good stuff. So we're trying to figure out what the declaration of this function is going to look like. So first looking at the information that we were given, which I just commented out, we can see that there's a function call here as well as here and here. So this last one is a bit long and confusing so this one is probably going to be our simplest one to take a look at. So when we look at this call we know that the name of it is going to be constrain. So just write this up here and we can see that there are three inputs and we can also see that all three of those inputs are integers and we can double check that here in these instances. We also have the name constrain. We've got three inputs and I, which is 10, 4 and 10, are all integers. So from that we can assume we're going to have an int, we'll call it num1, int, num2, and int, num3. And the names of the inputs really don't matter too much because those are all local variables so those variables are only used within the function so it doesn't really matter what we call it. So now we're trying to determine the return type. So this one is a little bit trickier but we can see from this instance it kind of gives away what's going to be returned to us. So here we call constrain and constrain is going to do its thing and then it's going to return something back to us and then it's going to insert whatever is returned into k. And we know that k here is declared as an integer. So this kind of lets us know that an integer is going to be returned because if we're calling constrain into k it has to be able to fit into k. So we would be getting complaints with processing if constrain didn't return an integer. So we can just put that right up here. In terms of the actual code it doesn't ask us to figure out what constrain does. So if you just gave this answer that was probably fine. You could explore other answers as well. You could try instead of three integers. You can assume maybe from down here you saw mouse x and maybe assumed you could have float values. So you could maybe change these to have floats. But the return type of the integer is going to stay the same again from this line that tells us it has to be returned as an integer. So hopefully this helps.