use 1ul, not 1l