public class SlamShuffle
{
    public static final String DATA_FILE = "data.txt";
    public static final int SIZE_OF_DECK = 10007;
    public static final int CARD = 2019;

    public static void main (String[] args)
    {
        boolean debug = false;
        boolean verify = false;

        for (int i = 0; i < args.length; i++)
        {
            if ("-help".equals(args[i]))
            {
                System.out.println("Usage: [-verify] [-debug] [-help]");

                System.exit(0);
            }

            if ("-debug".equals(args[i]))
                debug = true;

            if ("-verify".equals(args[i]))
                verify = true;
        }

        if (verify)
        {
            Verifier theVerifier = new Verifier(debug);

            if (theVerifier.verify())
                System.out.println("\nVerified ok!");
            else
                System.out.println("\nVerify failed!");

            System.exit(0);
        }

        Dealer theDealer = new Dealer(DATA_FILE, debug);
        Deck theDeck = theDealer.dealCards(SIZE_OF_DECK);
        int position = theDeck.positionOfCard(CARD);

        System.out.println("Position of card "+CARD+" is "+position);
    }
}
@@ -1,12 +1,33 @@
+import java.math.*;%0A%0A
 public class
@@ -120,19 +120,26 @@
 c final 
-int
+BigInteger
  SIZE_OF
@@ -150,55 +150,228 @@
 K = 
-10007;%0A    public static final int CARD = 2019;
+BigInteger.valueOf(119315717514047L);;%0A    public static final BigInteger SHUFFLE_TIMES = BigInteger.valueOf(101741582076661L);%0A    public static final int CARD = 2020;%0A    %0A    // https://codeforces.com/blog/entry/72593
 %0A%0A  
@@ -1325,20 +1325,18 @@
 nOfCard(
-CARD
+10
 );%0A%0A    
@@ -1378,20 +1378,18 @@
  card %22+
-CARD
+10
 +%22 is %22+

Update SlamShuffle.java