#include <iostream>
#include <vector>
#include <algorithm>
class /*Generator*/
{
public:
/*Generator() : i(1) { }*/
const int /*&*/operator ()()
{
return factorial(i++);
}
private:
const int factorial(const int &n)
{
if (n == 1) return 1;
return n * factorial(n - 1);
}
int i = 1;
} generator;
int main()
{
const int n = 10;
std::vector<int> v(n);
std::generate(v.begin(), v.end(), /*Generator()*/ generator);
std::cout << std::accumulate(v.begin(), v.end(), 0);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgogCmNsYXNzIC8qR2VuZXJhdG9yKi8KewpwdWJsaWM6CiAgICAvKkdlbmVyYXRvcigpIDogaSgxKSB7IH0qLwogCiAgICBjb25zdCBpbnQgLyomKi9vcGVyYXRvciAoKSgpCiAgICB7CiAgICAgICAgcmV0dXJuIGZhY3RvcmlhbChpKyspOwogICAgfQpwcml2YXRlOgogICAgY29uc3QgaW50IGZhY3RvcmlhbChjb25zdCBpbnQgJm4pCiAgICB7CiAgICAgICAgaWYgKG4gPT0gMSkgcmV0dXJuIDE7CiAgICAgICAgcmV0dXJuIG4gKiBmYWN0b3JpYWwobiAtIDEpOwogICAgfQogICAgaW50IGkgPSAxOwp9IGdlbmVyYXRvcjsKIAppbnQgbWFpbigpCnsKICAgIGNvbnN0IGludCBuID0gMTA7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHYobik7CiAgICBzdGQ6OmdlbmVyYXRlKHYuYmVnaW4oKSwgdi5lbmQoKSwgLypHZW5lcmF0b3IoKSovIGdlbmVyYXRvcik7CiAgICBzdGQ6OmNvdXQgPDwgc3RkOjphY2N1bXVsYXRlKHYuYmVnaW4oKSwgdi5lbmQoKSwgMCk7Cn0=