/* Problem : 11666
 * Author  : Peter Schnitzler
 * Sprache : C++
 * Status  : AC
 * Zeit    : 0.064
 */

#include <math.h>
#include <iostream>
#include <iomanip>


using namespace std;

/* Es wird gesucht L und x bei einer eingabe von n
 * Es gilt:
 * ln(num) = L + ln(1 - x)
 * wobei:
 * |x| < 1 => ln(num) = L + ln(y) : 0 < y < 2
 *
 * ferner soll L minimal sein
 */
int main()
{
    long num;
    cin >> num;
    //output formatierung
    cout << setiosflags(ios::fixed) << setprecision(8);
    
    // maximaler Wert von ln(y)
    double magicNum = log(2.0);
    
    
    while(num)
    {
        double lnNum = log(num);
        
        
        //ln(num) = L + ln(y) <=>
        int L = ceil(lnNum - magicNum);
        //da aber L eine ganze Zahl sein muss wird abgerundet
        
        //<=>
        double lnY = lnNum - L;
        
        //ln(1-x) = lnY <=>
        //1-x = e^lnY <=>
        //x = 1 - e^lnY
        double x = 1.0 - exp(lnY);
        
        cout << L << ' ' << x << endl;
        
        cin >> num;
    }
    
    return 0;
}