 So for this example, the focus is really not going to be on the performance equation. As we've seen, that's really simple. The focus is really going to be on figuring out how to construct the execution time so that we can put it into the performance equation and get a result out. So in this case, we've got two tasks. One of them works as the input for the other one. So we'll want to start by figuring out, well, how long is it going to take to run task one? How long is it going to take to run task two? If we add those together, we should get the total execution time. So in this case, we're running task one 1,000 times for every time that we're going to run task two. So our machine takes 10 nanoseconds to run task one. It's going to run 1,000 of those. And then it's going to take 30 seconds to run task two. So we have 1,000 instances of task one. Each of which takes 10 nanoseconds. So here's the execution time for task one. And then we want to add to this the execution time for task two. So task two is getting run one time. And it takes 30 seconds to run that. So one time at 30 seconds. And this is task number two. So 1,000 times 10 nanoseconds gives me 10 microseconds. And 1 times 30 seconds is 30 seconds. So these still aren't in the same units. I would want to put them both into say seconds or microseconds, 30 point. There's my milliseconds. And there's my microseconds. So that's my total execution time for this task. Now I can just plug that into the performance equation and say that performance is one over time. My time is 30 point 0,0001 seconds. And I can turn this into a decimal and get an actual answer out if I wanted. But it's not going to be too different from the 30 second task that we saw in the previous examples.