#include <iostream>
#include <iterator>
#include <algorithm>
using namespace std;
struct magic { int a, b; };
inline magic & operator ++ (magic &m) { return ++m.a, ++m.b, m; }
inline double operator * (const magic &m) { return (double)m.a / m.b; }
inline bool operator != (const magic &l, const magic &r) { return l.a != r.a || l.b != r.b; }
//auto t = for_each(magic {44, 11}, magic {144, 111}, [](double x) { cout << x << '\n'; });
namespace std
{
template<> struct iterator_traits<magic>
{
typedef input_iterator_tag iterator_category;
};
}
int main()
{
copy_n(magic {44, 11}, 100, ostream_iterator<double>(std::cout, "\n"));
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IG1hZ2ljIHsgaW50IGEsIGI7IH07CmlubGluZSBtYWdpYyAmIG9wZXJhdG9yICsrIChtYWdpYyAmbSkgeyByZXR1cm4gKyttLmEsICsrbS5iLCBtOyB9CmlubGluZSBkb3VibGUgb3BlcmF0b3IgKiAoY29uc3QgbWFnaWMgJm0pIHsgcmV0dXJuIChkb3VibGUpbS5hIC8gbS5iOyB9CmlubGluZSBib29sIG9wZXJhdG9yICE9IChjb25zdCBtYWdpYyAmbCwgY29uc3QgbWFnaWMgJnIpIHsgcmV0dXJuIGwuYSAhPSByLmEgfHwgbC5iICE9IHIuYjsgfQoKLy9hdXRvIHQgPSBmb3JfZWFjaChtYWdpYyB7NDQsIDExfSwgbWFnaWMgezE0NCwgMTExfSwgW10oZG91YmxlIHgpIHsgY291dCA8PCB4IDw8ICdcbic7IH0pOwoKbmFtZXNwYWNlIHN0ZAp7CnRlbXBsYXRlPD4gc3RydWN0IGl0ZXJhdG9yX3RyYWl0czxtYWdpYz4KewogICAgdHlwZWRlZiBpbnB1dF9pdGVyYXRvcl90YWcgaXRlcmF0b3JfY2F0ZWdvcnk7Cn07Cn0KCQppbnQgbWFpbigpCnsKCWNvcHlfbihtYWdpYyB7NDQsIDExfSwgMTAwLCBvc3RyZWFtX2l0ZXJhdG9yPGRvdWJsZT4oc3RkOjpjb3V0LCAiXG4iKSk7Cn0=