// <Rahil Malhotra / ViciousCoder>
#include "bits/stdc++.h"
using namespace std;
 
template <typename T> void print(T t) { cout<<t<<endl; }
template<typename T, typename... Args> void print(T t, Args... args) { cout<<t<<" "; print(args...); }
 
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl '\n'
#define int long long
#define double long double

int32_t main() 
{
    IOS;
    int n;
    cin>>n;
    int mul=1;
    int fl=0;
    for(int i=1;;i++)
    {
        mul*=3ll;
        int temp=n-mul;
        if(temp<5)
            break;
        int ctr=0;
        while(temp%5==0)
        {
            temp/=5;
            ctr++;
        }
        if(temp!=1 || ctr==0)
            continue;
        cout<<i<<" "<<ctr<<endl;
        fl=1;
        break;
    }
    if(!fl)
        cout<<-1;
} 
#include<bits/stdc++.h>
using namespace std;

long long n;
long long m3[40],m5[30];

int main(){
	scanf("%lld",&n);
	m3[0]=1ll;m5[0]=1ll;
	for(int i=1;i<=38;i++) m3[i]=m3[i-1]*3;
	for(int i=1;i<=26;i++) m5[i]=m5[i-1]*5;
	for(int i=1;i<=38;i++) for(int j=1;j<=26;j++) if(m3[i]+m5[j]==n){
		printf("%d %d\n",i,j);
		return 0;
	}
	puts("-1");
	return 0;
}