fix uint64 could be easily overflowed when calculating combinations
add .gitignore