Can anyone please explain me the following results?

int y,x;
x=4;
y=x+ ++x + ++x;
printf("%d",y);


The output comes out to be 16. How?