Construction of low density parity check codes without short cycles