I was solving problem F of ABC just now. And I got passed with `long long`, but when I change the type into `__int128_t`, it got wrong answer in most of the cases. Why is that?↵
↵
[Passed with long long](https://atcoder.jp/contests/abc357/submissions/54366164).↵
↵
[Wrong answer with int128](https://atcoder.jp/contests/abc357/submissions/54367133).↵
↵
**Upd:** It is said that `__int128_t` can not be the index of array. It may cause wrong answer. So it is always not a good idea to use things like `#define int __int128_t`.↵
↵
**Upd2:** I just tested some other things on AtCoder about `__int128_t`, it seems `template<typename>` may work incorrectly with `__int128_t`. That's from my function `read()`. I searched for many times in Google but have not found why.
↵
[Passed with long long](https://atcoder.jp/contests/abc357/submissions/54366164).↵
↵
[Wrong answer with int128](https://atcoder.jp/contests/abc357/submissions/54367133).↵
↵
**Upd:** It is said that `__int128_t` can not be the index of array. It may cause wrong answer. So it is always not a good idea to use things like `#define int __int128_t`.↵
↵
**Upd2:** I just tested some other things on AtCoder about `__int128_t`, it seems `template<typename>` may work incorrectly with `__int128_t`. That's from my function `read()`. I searched for many times in Google but have not found why.