#include <iostream>
#include <vector>
#include <numeric>
#include <functional>
int main()
{
std::vector<int> a {1, 2, 3};
std::vector<int> b {1, 2, 3, 4};
auto it = b.begin();
typedef std::vector<int>::iterator ci;
auto res = std::inner_product<ci,ci&,int>(a.begin(), a.end(), it, 0);
std::cout << (void*)&*b.begin() << ' ' << (void*)&*it << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6dmVjdG9yPGludD4gYSB7MSwgMiwgM307CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGIgezEsIDIsIDMsIDR9OwogICAgYXV0byBpdCA9IGIuYmVnaW4oKTsKICAgIHR5cGVkZWYgc3RkOjp2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgY2k7CiAgICBhdXRvIHJlcyA9IHN0ZDo6aW5uZXJfcHJvZHVjdDxjaSxjaSYsaW50PihhLmJlZ2luKCksIGEuZW5kKCksIGl0LCAwKTsKICAgIHN0ZDo6Y291dCA8PCAodm9pZCopJipiLmJlZ2luKCkgPDwgJyAnIDw8ICh2b2lkKikmKml0IDw8ICdcbic7Cn0=