#include <iostream>
#include <vector>

typedef unsigned char byte;

byte calc_iv(std::vector<byte> buffer)
{
    int iv = 0;
    for(int i = 0; i < buffer.size(); i++) {
        byte I = buffer[i];
        iv += I;
        iv *= I + 1;
    }
    return iv / buffer.size();
}


int main(){
    std::vector<byte> buf = {41, 32, 16};
    byte iv = calc_iv(buf);
    std::cout<<(int)iv<<std::endl;

    return 0;
}
