/*********************************************************************
 * Name:
 * NetID:
 * Precept:
 *  
 * Description: Reads an integer command-line argument N and simulates
 * an experience where:
 *    - we start with a bag containing N unpainted (numbered) balls;
 *    - we repeatedly pick a random ball, paint it, and put it back
 *      in the bag.
 *
 * We want to see how many balls we need to randomly pick before we get
 * one that has already been previously painted.
 * 
 * Examples:
 * > java BagOfBalls 365
 * 22
 *********************************************************************/

public class BagOfBalls { 
    public static void main(String[] args) {

        // number of balls
        int N = _________________________________________;
       
        // number of times we have picked a ball from the bag
        int total_picked = 0;
       
        // we will later set total_painted[k] = true if ball
        // number k has been painted
        _______________[] is_painted = new _______________________;

        // repeat until a ball is picked that has been previously painted
        while (true) {
	    
	    // increment number of times we have picked a ball from the bag
            total_picked _________;
	    
            // pick a random ball between 0 and N-1
            int k = _________________________________________________;
           
            // if ball number k is already painted, break out of loop
            if (______________________) ____________________;
           
            // update is_painted[] to indicate ball number k has been painted
            is_painted[_____] = __________________;
        }

        // print result -- how many balls were picked before we picked
	// the same ball a second time
        System.out.println(_______________________________);
    }
}