#include <iostream>
#include <iterator>
#include <algorithm>
namespace std
{
struct magic { int a, b; } m = {44, 11};
inline magic & operator ++ (magic &m) { return ++m.a, ++m.b, m; }
inline double operator * (const magic &m) { return (double)m.a / m.b; }
template <> struct iterator_traits<magic> : iterator_traits<istream_iterator<double> > {};
int z = (copy_n(m, 100, ostream_iterator<double>(std::cout, "\n")), 0);
}
int main() {}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CgpuYW1lc3BhY2Ugc3RkCnsKc3RydWN0IG1hZ2ljIHsgaW50IGEsIGI7IH0gbSA9IHs0NCwgMTF9OwppbmxpbmUgbWFnaWMgJiBvcGVyYXRvciArKyAobWFnaWMgJm0pIHsgcmV0dXJuICsrbS5hLCArK20uYiwgbTsgfQppbmxpbmUgZG91YmxlIG9wZXJhdG9yICogKGNvbnN0IG1hZ2ljICZtKSB7IHJldHVybiAoZG91YmxlKW0uYSAvIG0uYjsgfQoKdGVtcGxhdGUgPD4gc3RydWN0IGl0ZXJhdG9yX3RyYWl0czxtYWdpYz4gOiBpdGVyYXRvcl90cmFpdHM8aXN0cmVhbV9pdGVyYXRvcjxkb3VibGU+ID4ge307CgppbnQgeiA9IChjb3B5X24obSwgMTAwLCBvc3RyZWFtX2l0ZXJhdG9yPGRvdWJsZT4oc3RkOjpjb3V0LCAiXG4iKSksIDApOwp9CgppbnQgbWFpbigpIHt9
prog.cpp:13:66: error: 'copy_n' was not declared in this scope
int z = (copy_n(m, 100, ostream_iterator<double>(std::cout, "\n")), 0);
^