Department of Computer Science and Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel.|Department of Computer Science and Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel.|Department of Computer Science and Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel.|Department of Computer Science and Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel.