public boolean pass(int[] bowl, int bowlId, int round,
                        boolean canPick,
                        boolean musTake) {
        
        update_info(bowl, bowlId, round, canPick, musTake);

        print_input();

        if (musTake) return true;
        if (!canPick) return false;

        /*
        // Take it immediately if it's good enough
        if (get_bowl_score(bowl) >= 9 * bowlSize) {
            return true;
        }
        */
        /*
        if (0 == round) {
            return first_round_strategy();
        } else {
            return second_round_strategy();
        }
        */
        // For Deliverable III, we use different strategy for different size bowls
        if (bowlSize < bowlSizeThreshold) {
            return small_size_strategy(bowl);
        } else {
            return large_size_strategy(bowl);
        }
    }