#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
constexpr float a(float y) { return y/29; }
constexpr float b(float y) { return 29*y; }
constexpr int T(float x) {
for (int z=255;z>=0;z--)
for (int y=255;y>=0;y--)
if (x==a(b(x/z)*y))
return y;
return 0;
}
int main() {
float Si[10] = { 30,10,20,15,35,47,18,3,5};
float Ws=1; int x;
for (int i=1;i<=9;i++) {
Ws=a(Si[i-1]*Ws);
printf("%f == %f \n", Si[i-1],Ws);
}
printf("\n");
for (int i=9;i>=1;i--) {
x=T(Ws);
Ws=b(Ws/x);
printf("%d %f \n",x, Ws);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdGV4cHIgZmxvYXQgYShmbG9hdCB5KSB7IHJldHVybiB5LzI5OyB9CmNvbnN0ZXhwciBmbG9hdCBiKGZsb2F0IHkpIHsgcmV0dXJuIDI5Knk7IH0gCmNvbnN0ZXhwciBpbnQgVChmbG9hdCB4KSB7CiAgZm9yIChpbnQgej0yNTU7ej49MDt6LS0pIAogICBmb3IgKGludCB5PTI1NTt5Pj0wO3ktLSkgCiAgICAgICAgaWYgKHg9PWEoYih4L3opKnkpKQogICAgICAgICAgcmV0dXJuIHk7CiAgICAgCiAgICByZXR1cm4gMDsKfQppbnQgbWFpbigpIHsKZmxvYXQgU2lbMTBdID0geyAzMCwxMCwyMCwxNSwzNSw0NywxOCwzLDV9OwpmbG9hdCBXcz0xOyBpbnQgeDsKZm9yIChpbnQgaT0xO2k8PTk7aSsrKSB7CldzPWEoU2lbaS0xXSpXcyk7CnByaW50ZigiJWYgPT0gJWYgXG4iLCBTaVtpLTFdLFdzKTsKfQpwcmludGYoIlxuIik7CmZvciAoaW50IGk9OTtpPj0xO2ktLSkgewogICAgICB4PVQoV3MpOwogICAgICBXcz1iKFdzL3gpOwogICAgICBwcmludGYoIiVkICVmIFxuIix4LCBXcyk7Cn0KICAgICAgcmV0dXJuIDA7Cn0=