#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;
}