cecna(NA,SubnivelAnterior,QtdSubnivelAnterior,Subnivel,Min,Max) :- 
   configurar_subnivel(1,SubnivelAnterior,QtdSubnivelAnterior), NA =< Max, Aux is NA - Min + 1, configurar_subnivel(2,Subnivel,Aux).

configurar_subnivel(1,A,B) :- B > 0, write(A), sup(B,R), write(R), write(" "), !.
configurar_subnivel(1,_,_) :- !.
configurar_subnivel(2,A,B) :- write(A), sup(B,R), write(R), write(" ").

cecna(NA) :- cecna(NA,""  ,0 ,"1s",1  , 2),  !. 
cecna(NA) :- cecna(NA,"1s",2 ,"2s",3  , 4),  !.
cecna(NA) :- cecna(NA,"2s",2 ,"2p",5  ,10),  !.
cecna(NA) :- cecna(NA,"2p",6 ,"3s",11 ,12),  !.
cecna(NA) :- cecna(NA,"3s",2 ,"3p",13 ,18),  !.
cecna(NA) :- cecna(NA,"3p",6 ,"4s",19 ,20),  !.
cecna(NA) :- cecna(NA,"4s",2 ,"3d",21 ,30),  !.
cecna(NA) :- cecna(NA,"3d",10,"4p",31 ,36),  !.
cecna(NA) :- cecna(NA,"4p",6 ,"5s",37 ,38),  !.
cecna(NA) :- cecna(NA,"5s",2 ,"4d",39 ,48),  !.
cecna(NA) :- cecna(NA,"4d",10,"5p",49 ,54),  !.
cecna(NA) :- cecna(NA,"5p",6 ,"6s",55 ,56),  !.
cecna(NA) :- cecna(NA,"6s",2 ,"4f",57 ,70),  !.
cecna(NA) :- cecna(NA,"4f",14,"5d",71 ,80),  !.
cecna(NA) :- cecna(NA,"5d",10,"6p",81 ,86),  !.
cecna(NA) :- cecna(NA,"6p",6 ,"7s",87 ,88),  !.
cecna(NA) :- cecna(NA,"7s",2 ,"5f",89 ,102), !.
cecna(NA) :- cecna(NA,"5f",14,"6d",103,112), !.
cecna(NA) :- cecna(NA,"6d",10,"7p",113,118), !.

cec(S) :- ssnnbna(S,SN,NB,NA), format("~s\t~s\t~d\t",[SN,NB,NA]), cecna(NA), nl.

cec :- nl, forall(na(S,_), cec(S)), nl.