#include <iostream>
#include <vector>
#include<bits/stdc++.h>
using namespace std;
int main() {
std::vector<int> scv = {
-3, 13, 6, -29, -31, 43, 46, 8, 7, 21, 12, 6, 31, 38, 2, 31,
12, -8, 23, 14, -22, 37, 24, 19, -2, 24, 17, 31, -6, 2, 4, 11,
-13, 41, 17, 4, 15, -9, -32, 33, 23, -6, 18, 32, 9, -6, 23, 9,
-15, 20, 3, 19, -16, 11, 8
};
std::vector<int> vti = {
-2, 11, 12, -25, -36, 30, 21, -11, -1, 5, 16, -11, 19, 19, 1, 28,
15, -2, 12, 24, -10, 29, 6, 8, -1, 34, 19, 30, 24, 19, -13, -9,
-25, 30, 8, 2, 12, 1, -37, 26, 16, -2, 14, 31, 12, 0, 11, 19,
-7, 28, 19, 18, -24, 22, 20
};
int t = vti.size();
vector<double> tmp(t,1.0);
vector<vector<double>> telltale(t, tmp);
for(int l=0;l< t;l++)
{
for(int r=l; r<t;r++)
{
int cnt = r-l+1;
double d= 1.0;
for(int k=0; k<cnt;k++)
{
double scv_r = (100.0 +scv[l+k])/100,
vti_r = (100.0 +vti[l+k])/100;
d = (d*scv_r)/vti_r;
}
telltale[l][r]= d;
}
}
vector<vector<double>> distribution_telltale_rolling_period(t+1);
for(int l=0;l<t;l++)
{
for(int r=l;r<t;r++)
{
distribution_telltale_rolling_period[r-l+1].push_back(telltale[l][r]);
}
}
for(int i=1;i< (t+1);i++)
{
sort(distribution_telltale_rolling_period[i].begin(),
distribution_telltale_rolling_period[i].end());
if(i!=1)
cout<<"\n";
int sz = (distribution_telltale_rolling_period[i].size())*0.15;
cout<<int(10000*distribution_telltale_rolling_period[i][sz]);
}
// for(int i=1;i< (t+1);i++)
// {
// sort(distribution_telltale_rolling_period[i].begin(),
// distribution_telltale_rolling_period[i].end());
// //cout<<"\n"<<i;
// for(int j=0; j< distribution_telltale_rolling_period[i].size();j++)
// {
// cout<<"(";
// cout<<i<<","<<distribution_telltale_rolling_period[i][j]<<"),";
// }
// }
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpIHsKICAgIHN0ZDo6dmVjdG9yPGludD4gc2N2ID0gewogICAgICAgIC0zLCAxMywgNiwgLTI5LCAtMzEsIDQzLCA0NiwgOCwgNywgMjEsIDEyLCA2LCAzMSwgMzgsIDIsIDMxLAogICAgICAgIDEyLCAtOCwgMjMsIDE0LCAtMjIsIDM3LCAyNCwgMTksIC0yLCAyNCwgMTcsIDMxLCAtNiwgMiwgNCwgMTEsCiAgICAgICAgLTEzLCA0MSwgMTcsIDQsIDE1LCAtOSwgLTMyLCAzMywgMjMsIC02LCAxOCwgMzIsIDksIC02LCAyMywgOSwKICAgICAgICAtMTUsIDIwLCAzLCAxOSwgLTE2LCAxMSwgOAogICAgfTsKICAgIAogICAgc3RkOjp2ZWN0b3I8aW50PiB2dGkgPSB7CiAgICAgICAgLTIsIDExLCAxMiwgLTI1LCAtMzYsIDMwLCAyMSwgLTExLCAtMSwgNSwgMTYsIC0xMSwgMTksIDE5LCAxLCAyOCwKICAgICAgICAxNSwgLTIsIDEyLCAyNCwgLTEwLCAyOSwgNiwgOCwgLTEsIDM0LCAxOSwgMzAsIDI0LCAxOSwgLTEzLCAtOSwKICAgICAgICAtMjUsIDMwLCA4LCAyLCAxMiwgMSwgLTM3LCAyNiwgMTYsIC0yLCAxNCwgMzEsIDEyLCAwLCAxMSwgMTksCiAgICAgICAgLTcsIDI4LCAxOSwgMTgsIC0yNCwgMjIsIDIwCiAgICB9OwoKICAgIGludCB0ID0gdnRpLnNpemUoKTsKICAgIHZlY3Rvcjxkb3VibGU+IHRtcCh0LDEuMCk7CiAgICB2ZWN0b3I8dmVjdG9yPGRvdWJsZT4+IHRlbGx0YWxlKHQsIHRtcCk7CiAgICAKICAgIGZvcihpbnQgbD0wO2w8IHQ7bCsrKQogICAgewogICAgCWZvcihpbnQgcj1sOyByPHQ7cisrKQogICAgCXsKICAgIAkJaW50IGNudCA9IHItbCsxOwogICAgCQlkb3VibGUgZD0gMS4wOwogICAgCQlmb3IoaW50IGs9MDsgazxjbnQ7aysrKQogICAgCQl7CiAgICAJCQlkb3VibGUgc2N2X3IgPSAoMTAwLjAgK3NjdltsK2tdKS8xMDAsCiAgICAJCQl2dGlfciA9ICgxMDAuMCArdnRpW2wra10pLzEwMDsKICAgIAkJCWQgPSAoZCpzY3ZfcikvdnRpX3I7CiAgICAJCX0KICAgIAkJdGVsbHRhbGVbbF1bcl09IGQ7CiAgICAJfQogICAgfQogICAgdmVjdG9yPHZlY3Rvcjxkb3VibGU+PiBkaXN0cmlidXRpb25fdGVsbHRhbGVfcm9sbGluZ19wZXJpb2QodCsxKTsKICAgIGZvcihpbnQgbD0wO2w8dDtsKyspCiAgICB7CiAgICAJZm9yKGludCByPWw7cjx0O3IrKykKICAgIAl7CiAgICAJCWRpc3RyaWJ1dGlvbl90ZWxsdGFsZV9yb2xsaW5nX3BlcmlvZFtyLWwrMV0ucHVzaF9iYWNrKHRlbGx0YWxlW2xdW3JdKTsKICAgIAl9CiAgICB9CiAgICAKCWZvcihpbnQgaT0xO2k8ICh0KzEpO2krKykKCXsKCQlzb3J0KGRpc3RyaWJ1dGlvbl90ZWxsdGFsZV9yb2xsaW5nX3BlcmlvZFtpXS5iZWdpbigpLAoJCWRpc3RyaWJ1dGlvbl90ZWxsdGFsZV9yb2xsaW5nX3BlcmlvZFtpXS5lbmQoKSk7CgkJaWYoaSE9MSkKCQljb3V0PDwiXG4iOwoJCWludCBzeiA9IChkaXN0cmlidXRpb25fdGVsbHRhbGVfcm9sbGluZ19wZXJpb2RbaV0uc2l6ZSgpKSowLjE1OwoJCWNvdXQ8PGludCgxMDAwMCpkaXN0cmlidXRpb25fdGVsbHRhbGVfcm9sbGluZ19wZXJpb2RbaV1bc3pdKTsKCQkKCX0KCQoJLy8gZm9yKGludCBpPTE7aTwgKHQrMSk7aSsrKQoJLy8gewoJLy8gCXNvcnQoZGlzdHJpYnV0aW9uX3RlbGx0YWxlX3JvbGxpbmdfcGVyaW9kW2ldLmJlZ2luKCksCgkvLyAJZGlzdHJpYnV0aW9uX3RlbGx0YWxlX3JvbGxpbmdfcGVyaW9kW2ldLmVuZCgpKTsKCS8vIAkvL2NvdXQ8PCJcbiI8PGk7CgkvLyAJZm9yKGludCBqPTA7IGo8IGRpc3RyaWJ1dGlvbl90ZWxsdGFsZV9yb2xsaW5nX3BlcmlvZFtpXS5zaXplKCk7aisrKQoJLy8gCXsKCS8vIAkJY291dDw8IigiOwoJLy8gCQljb3V0PDxpPDwiLCI8PGRpc3RyaWJ1dGlvbl90ZWxsdGFsZV9yb2xsaW5nX3BlcmlvZFtpXVtqXTw8IiksIjsKCS8vIAl9CgkvLyB9CiAgICByZXR1cm4gMDsKfQo=