Problem:
Score : 100 points

Problem Statement

Given is a string S representing the day of the week today.

S is SUN, MON, TUE, WED, THU, FRI, or SAT, for Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday, respectively.

After how many days is the next Sunday (tomorrow or later)?

Constraints

S is SUN, MON, TUE, WED, THU, FRI, or SAT.

Input

Input is given from Standard Input in the following format:

S

Output

Print the number of days before the next Sunday.

Sample Input 1

SAT

Sample Output 1

1

It is Saturday today, and tomorrow will be Sunday.

Sample Input 2

SUN

Sample Output 2

7

It is Sunday today, and seven days later, it will be Sunday again.

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>

using namespace std;

typedef long long int sll;

sll A, B, X;
const sll MAX = 1000000000;
const sll MIN = 1;
bool canBuy(sll m);
sll getDigit(sll num);

int main() {
#ifdef  DEBUG
  ifstream in("input.txt");
  cin.rdbuf(in.rdbuf());
#endif  // for local.
  cin >> A >> B >> X;
  if (!canBuy(MIN)) {
    cout << 0 << endl;
    return 0;
  }
  if (canBuy(MAX)) {
    cout << MAX << endl;
    return 0;
  }

  sll ok = 1, ng = MAX;
  while (1 < ng - ok) {
    sll mid = (ng + ok) / 2;
    if (canBuy(mid)) {
      ok = mid;
    } else {
      ng = mid;
    }
  }

  cout << ok << endl;
  return 0;
}

bool canBuy(sll m) {
  return (sll)(A * m + B * getDigit(m)) <= X;
}
sll getDigit(sll num){
    return std::to_string(num).length();
}