I am pretty new, but I might be able to proivde some answers

- void fun is a function you creating. It takes in two parameters of the type int, which you called first and second. They can called anything, even the same names as variables in the main program.

- first += first this means you are incrementing the first variable by 1 and then assigning it back to first. So like if it was 4 increment it to 5, and then assign it back to first. So in the end, first has the value 5.

- void main is the initial function called by the program. You need this because the program has to know where to start

- int list [2] = {1,3} is creating like an int array of size 2. So you have 2 cells. And the first cell has 1, and the second has 3.

fun(list[0], list[1]) calls fun as you stated. and sends in the 1 cell, and the 2 cell as input to the function.

hope that helps.