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