`timescale 1ns / 1ps

module full_adder_struct(sum,cout,a,b,cin);

input a,b,cin;
output cout,sum;

wire x,y,z;

and A1 (y,a,b);
or  A2 (x,a,b);
and A3 (z,cin,x);
or  A4 (cout,y,z);
xor A5 (sum,a,b,cin);

endmodule