The design and implementation of a robust single-layer QCA ALU using a novel fault-tolerant three-input majority gate