#include <iostream>
#include <cmath>
#define ll long long
const int N = 1e5 + 10;
ll n, t, a[N], b[N], sum, op;
ll gcd(ll a, ll b)
{
return a%b ? gcd(b,a%b):b;
}
int main()
{
scanf("%lld %lld", &n, &t);
for(int i = 1; i <= n; i++)
scanf("%lld %lld", &a[i], &b[i]);
for(int i = 1; i < t; i++)
{
sum = 0;
for(int j = 1; j <= n; j++)
sum += a[j] * pow(b[j], i);
if(sum) {printf("infinity"); return 0;}
}
sum = 0;
op = t&1 ? 1:-1;
for(int i = 1; i <= n; i++)
{
a[i] *= op;
for(int j = 1; j <= t; j++) // 几次方
a[i] *= b[i];
sum += a[i];
}
if(t==1) std::cout << sum;
else
{
ll x = gcd(abs(sum), t);
std::cout << sum/t << "/" << t/x;
}
return 0;
}
G limit
最新推荐文章于 2021-10-12 21:27:04 发布