subroutine writeConfig(S, L, NOM)
  implicit none
  integer*4, intent(in) :: L
  integer*2, intent(out) :: S(1:L,1:L)
  integer*4 :: i, j
  character(200) :: NOM

  open(17, file = trim(NOM))

  do i = 1, L
    do j = 1, L
      if (S(i, j) == 1) then
        write(17, *) i, j
      endif
    enddo
  enddo

  close(17)
end subroutine writeConfig
