private static String compute(String nBlocksStr, String kBlocksStr, int blocksCount) {
        StringBuilder solutionStringBuilder = new StringBuilder();

        double nBlocks[] = new double[blocksCount];
        double kBlocks[] = new double[blocksCount];
        int index = 0;
        for (String blockToken : nBlocksStr.split("\\s")) {
            nBlocks[index ++] = Double.parseDouble(blockToken);
        }
        index = 0;
        for (String blockToken : kBlocksStr.split("\\s")) {
            kBlocks[index ++] = Double.parseDouble(blockToken);
        }

        Arrays.sort(nBlocks);
        Arrays.sort(kBlocks);
        int minIndexNBlocks = 0;
        int minIndexKBlocks = 0;
        int maxIndexKBlocks = kBlocks.length - 1;
        int nScore = 0;
        // Deceitful War
        while(minIndexNBlocks < nBlocks.length) {
            if (nBlocks[minIndexNBlocks] < kBlocks[minIndexKBlocks]) {
                // K scores
                maxIndexKBlocks --;
            } else {
                // N scores
                nScore ++;
                minIndexKBlocks ++;
            }
            minIndexNBlocks ++;
        }
        solutionStringBuilder.append(String.valueOf(nScore));
        solutionStringBuilder.append(" ");

        // Regular War
        minIndexNBlocks = 0;
        minIndexKBlocks = 0;
        maxIndexKBlocks = kBlocks.length - 1;
        nScore = 0;
        while (minIndexNBlocks < nBlocks.length) {
            double chosenN = nBlocks[minIndexNBlocks];
            boolean didKScore = false;
            while(minIndexKBlocks < kBlocks.length) {
                if (chosenN < kBlocks[minIndexKBlocks]) {
                    // K scores
                    didKScore = true;
                    kBlocks[minIndexKBlocks] = -1;
                    minIndexKBlocks ++;
                    break;
                } else {
                    minIndexKBlocks ++;
                }
            }
            minIndexKBlocks = 0;
            if (!didKScore) {
                nScore ++;
            }
            minIndexNBlocks ++;
        }
        solutionStringBuilder.append(String.valueOf(nScore));

        return solutionStringBuilder.toString();
    }