Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.|Department of Computer Science, Stanford University, Stanford, CA 94305, USA.