memset(seen, 0, sizeof(seen));