function [list_of_basic_gates,list_of_config,name] = qftadd12_1()
%qftadd12_1 circuit description of QFT based addition on 12 qubits

number_of_gates = 78;
AM = cell(1,number_of_gates);
AM{1}= H(1);
AM{2} = r(2);
AM{3} = r(3);
AM{4} = r(4);
AM{5} = r(5);
AM{6} = r(6);
AM{7} = r(7);
AM{8} = r(8);
AM{9} = r(9);
AM{10}= r(10);
AM{11} = r(11);
AM{12}= r(12);
AM{13} = H(1);
AM{14} = r(2);
AM{15} = r(3);
AM{16}=r(4);
AM{17} = r(5);
AM{18} = r(6);
AM{19} = r(7);
AM{20} = r(8);
AM{21} = r(9);
AM{22} = r(10);
AM{23} = r(11);
AM{24} = H(1);
AM{25} = r(2);
AM{26} = r(3);
AM{27} = r(4);
AM{28} = r(5);
AM{29} = r(6);
AM{30} = r(7);
AM{31} = r(8);
AM{32} = r(9);
AM{33} = r(10);
AM{34} = H(1);
AM{35} = r(2);
AM{36} = r(3);
AM{37} = r(4);
AM{38} = r(5);
AM{39} = r(6);
AM{40} = r(7);
AM{41} = r(8);
AM{42} = r(9);
AM{43} = H(1);
AM{44} = r(2);
AM{45} = r(3);
AM{46} = r(4);
AM{47} = r(5);
AM{48} = r(6);
AM{49} = r(7);
AM{50} = r(8);
AM{51} = H(1);
AM{52} = r(2);
AM{53} = r(3);
AM{54} = r(4);
AM{55} = r(5);
AM{56} = r(6);
AM{57} = r(7);
AM{58} = H(1);
AM{59} = r(2);
AM{60} = r(3);
AM{61} = r(4);
AM{62} = r(5);
AM{63} = r(6);
AM{64} = H(1);
AM{65} = r(2);
AM{66} = r(3);
AM{67} = r(4);
AM{68} = r(5);
AM{69} = H(1);
AM{70} = r(2);
AM{71} = r(3);
AM{72} = r(4);
AM{73} = H(1);
AM{74} = r(2);
AM{75} = r(3);
AM{76} = H(1);
AM{77} = r(2);
AM{78} = H(1);
AC = cell(1,number_of_gates);
AC{1}= 'xiiiiiiiiiii';
AC{2} = 'xciiiiiiiiii';
AC{3} = 'xiciiiiiiiii';
AC{4} = 'xiiciiiiiiii';
AC{5} = 'xiiiciiiiiii';
AC{6} = 'xiiiiciiiiii';
AC{7} = 'xiiiiiciiiii';
AC{8} = 'xiiiiiiciiii';
AC{9} = 'xiiiiiiiciii';
AC{10}= 'xiiiiiiiicii';
AC{11} = 'xiiiiiiiiici';
AC{12}= 'xiiiiiiiiiic';

AC{13} = 'ixiiiiiiiiii';
AC{14} = 'ixciiiiiiiii';
AC{15} = 'ixiciiiiiiii';
AC{16}=  'ixiiciiiiiii';
AC{17} = 'ixiiiciiiiii';
AC{18} = 'ixiiiiciiiii';
AC{19} = 'ixiiiiiciiii';
AC{20} = 'ixiiiiiiciii';
AC{21} = 'ixiiiiiiicii';
AC{22} = 'ixiiiiiiiici';
AC{23} = 'ixiiiiiiiiic';

AC{24} = 'iixiiiiiiiii';
AC{25} = 'iixciiiiiiii';
AC{26} = 'iixiciiiiiii';
AC{27} = 'iixiiciiiiii';
AC{28} = 'iixiiiciiiii';
AC{29} = 'iixiiiiciiii';
AC{30} = 'iixiiiiiciii';
AC{31} = 'iixiiiiiicii';
AC{32} = 'iixiiiiiiici';
AC{33} = 'iixiiiiiiiic';

AC{34} = 'iiixiiiiiiii';
AC{35} = 'iiixciiiiiii';
AC{36} = 'iiixiciiiiii';
AC{37} = 'iiixiiciiiii';
AC{38} = 'iiixiiiciiii';
AC{39} = 'iiixiiiiciii';
AC{40} = 'iiixiiiiicii';
AC{41} = 'iiixiiiiiici';
AC{42} = 'iiixiiiiiiic';


AC{43} = 'iiiixiiiiiii';
AC{44} = 'iiiixciiiiii';
AC{45} = 'iiiixiciiiii';
AC{46} = 'iiiixiiciiii';
AC{47} = 'iiiixiiiciii';
AC{48} = 'iiiixiiiicii';
AC{49} = 'iiiixiiiiici';
AC{50} = 'iiiixiiiiiic';

AC{51} = 'iiiiixiiiiii';
AC{52} = 'iiiiixciiiii';
AC{53} = 'iiiiixiciiii';
AC{54} = 'iiiiixiiciii';
AC{55} = 'iiiiixiiicii';
AC{56} = 'iiiiixiiiici';
AC{57} = 'iiiiixiiiiic';

AC{58} = 'iiiiiixiiiii';
AC{59} = 'iiiiiixciiii';
AC{60} = 'iiiiiixiciii';
AC{61} = 'iiiiiixiicii';
AC{62} = 'iiiiiixiiici';
AC{63} = 'iiiiiixiiiic';

AC{64} = 'iiiiiiixiiii';
AC{65} = 'iiiiiiixciii';
AC{66} = 'iiiiiiixicii';
AC{67} = 'iiiiiiixiici';
AC{68} = 'iiiiiiixiiic';

AC{69} = 'iiiiiiiixiii';
AC{70} = 'iiiiiiiixcii';
AC{71} = 'iiiiiiiixici';
AC{72} = 'iiiiiiiixiic';

AC{73} = 'iiiiiiiiixii';
AC{74} = 'iiiiiiiiixci';
AC{75} = 'iiiiiiiiixic';

AC{76} = 'iiiiiiiiiixi';
AC{77} = 'iiiiiiiiiixc';

AC{78} = 'iiiiiiiiiiix';

list_of_basic_gates = AM;
list_of_config = AC;
name = 'qftadd12';

end