```/******************************************************************************
*  Name:   Andy Guna
*  NetID:   guna@princeton.edu
*  Precept: P99
*
*  Partner Name:    N/A
*  Partner NetID:   N/A
*  Partner Precept: N/A
*
*  Operating system: Windows
*  Compiler: drjava
*  Text editor / IDE: notepad++
*
*  Have you taken (part of) this course before: yes
*  Have you taken (part of) the Coursera course Algorithm, Part I: no
*
*  Hours to complete assignment (optional):
*
* Description: This example demonstrates the use of WeightedUnionFindUF, StdRandom and Stopwatch
* Classes. The code addresses the following problem. Given a set of N points, numbered
* from 0 ... N-1, if any two points are randomly selected and merged, when will the
* points 0 and N-1 be in the same set.
*
*******************************************************************************/
import edu.princeton.cs.algs4.WeightedQuickUnionUF;
import edu.princeton.cs.algs4.Stopwatch;
import edu.princeton.cs.algs4.StdRandom;

public class UFExample1 {
public static void main(String[] args) {
Stopwatch Clock = new Stopwatch();
int N = Integer.parseInt(args[0]);
WeightedQuickUnionUF UF1 = new WeightedQuickUnionUF(N);
while (true) {
int i = StdRandom.uniform(N);
int j = StdRandom.uniform(N);
if (!UF1.connected(i,j)){
UF1.union(i,j);
System.out.println("connecting " + i + " and " + j);
}
if (UF1.connected(0,N-1)) {
// some message
break;
}
}
System.out.println(N + " " + Clock.elapsedTime());

}
}
```