F - I hate Matrix Construction
を解くため、Javaでunsigned longを扱う必要が出てきた。基本はビット演算目的で使用するため、プログラムの中ではunsignedである必要がないが、入力と出力を〜の値を対応すればよい。
Unsigned long in Java - Stack Overflow
に解決策が書かれている。
Scannerから入力する場合、入力は
long number = Long.parseUnsignedLong(scanner.next());
で入力し、出力は
System.out.println(Long.toUnsignedString(number));
で出力すればよい。