#include <iostream>
#include <sstream>
#include <vector>
#include <cmath>

using namespace std;

bool isPerfectSquare(int n) {
    int sqrt_n = sqrt(n);

    return (sqrt_n * sqrt_n == n);
}

bool isPrime(int n) {
    if (n < 2) {
        return false;
    }

    if (n == 2 || n == 3) {
        return true;
    }

    for (int i = 5; i * i <= n; i += 6) {
        if (n % i == 0 || n % (i + 2) == 0) {
            return false;
        }
    }

    return true;
}

int nextPrime(int n) {
    int prime = n + 1;
    while (!isPrime(prime)) {
        prime++;
    }

    return prime;
}

string convertToBase(int num, int base) {
    if (num == 0) return "0";

    string result;
    while (num > 0) {
        result = to_string(num % base) + result;
        num /= base;
    }
    return result;
}

string convertFractionToBase(double fraction, int base) {
    string result = ".";
    while (fraction > 0.0 && result.length() < 10) {
        fraction *= base;
        int integerPart = static_cast<int>(fraction);
        result += to_string(integerPart);
        fraction -= integerPart;
    }
    return result;
}

int main() {
    vector<double> results;

    for (int num = 1000; num < 2000; num++) {
        if (isPerfectSquare(num)) {
            num = nextPrime(num);
        }
        else if (isPerfectSquare(num + 1)) {
            num = nextPrime(num + 1);
        }
        else {
            num = num;
        }

        double sqrt_num = sqrt(num);
        double next_int = ceil(sqrt_num);
        double result = sqrt_num / next_int;

        string base3 = convertToBase(floor(result), 3) + convertFractionToBase(result, 3);
        string base5 = convertToBase(floor(result), 5) + convertFractionToBase(result, 5);
        string base7 = convertToBase(floor(result), 7) + convertFractionToBase(result, 7);

        double backToDoubleBase3 = stod(base3);
        double backToDoubleBase5 = stod(base5);
        double backToDoubleBase7 = stod(base7);
        double final_result = (backToDoubleBase5 * backToDoubleBase7) / backToDoubleBase3;

        results.push_back(final_result);
    }

    for (int i = 0; i < results.size(); ++i) {
        cout << "Result for input " << 1000 + i << " : " << results[i] << endl;
    }

    return 0;
}