begin integer divideresult; procedure divide ( y, z ) begin divideresult := y / z; end; integer sum2result; procedure sum2 ( y, z ) begin sum2result := y + z; end; integer average4result; procedure average4 ( w, x, y, z ) begin integer sum4result; procedure sum4 ( w, x, y, z ) begin integer sum3result; procedure sum3 ( x, y, z ) begin call sum2 ( y, z ); call sum2 ( x, sum2result ); sum3result := sum2result; end; call sum3 ( x, y, z ); call sum2 ( w, sum3result ); sum4result := sum2result; end; call sum4 ( w, x, y, z ); call divide ( sum4result, 4 ); average4result := divideresult; end; integer w, x, y, z; read ( w, x, y, z ); call average4 ( w, x, y, z ); write ( average4result ); end