In 1994, Carl Pomerance proposed the following problem: Select integers a 1 , a 2 , . . . , a J at random from the interval [1, x], stopping when some (non-empty) subsequence, {a i : i ∈ I} where I ⊆ {1, 2, . . . , J}, has a square product (that is i∈I a i ∈ Z 2 ). What can we say about the possible stopping times, J? A 1985 algorithm of Schroeppel can be used to show that this process stops after selecting (1 + )J 0 (x) integers a j with probability 1 − o(1) (where the function J 0 (x) is given explicitly in (1) below). Schroeppel's algorithm actually finds the square product, and this has subsequently been adopted, with relatively minor modifications, by all factorers. In 1994 Pomerance showed that, with probability 1−o(1), the process will run through at least J 0 (x) 1−o(1) integers a j , and asked for a more precise estimate of the stopping time. We conjecture that there is a "sharp threshold" for this stopping time, that is, with probability 1 − o(1) one will first obtain a square product when (precisely) {e −γ + o(1)}J 0 (x) integers have been selected. Herein we will give a heuristic to justify our belief in this sharp transition.In our paper [4] we prove that, with probability 1 − o(1), the first square product appears in timewhere γ = 0.577... is the Euler-Mascheroni constant, improving both Schroeppel and Pomerance's results. In this article we will prove a weak version of this theorem (though still improving on the results of both Schroeppel and Pomerance). We also confirm the well established belief that, typically, none of the integers in the square product have large prime factors. Our methods provide an appropriate combinatorial framework for studying the large prime variations associated with the quadratic sieve and other factoring algorithms. This allows us to analyze what factorers have discovered in practice.