[D - Segments Covering](https://codeforces.com/contest/2125/problem/D)

思路:

概率论中的算法:

  1. 加法计算“不发生的概率”以及**互斥事件至少有一个发生的概率**
  2. 乘法简化快速幂以及**独立事件同时发生的概率**
  3. 除法计算模环境下的分数
  4. 快速幂计算乘法逆元
const int mod = 998244353;
int add(int x, int y) {
  return (x + y + mod) % mod;
}

int mul(int x, int y) {
  return x * y % mod;
}

int fast_pow(int x, int y) {
  int res = 1;
  while(y) {
    if(y & 1) res = mul(res, x);
    x = mul(x, x);
    y >>= 1;
  }
  return res;
}

int divide(int x, int y) {
  return mul(x, fast_pow(y, mod - 2));
}