anchor.diff:              print *, "********************************"
           end do
       end subroutine
  +
  +    subroutine finish()
  +        call cpu_time(t1)
  +        print '("Solutions:       ", i12)', sols%length
  +        print '("Calls of search: ", i12)', calls
  +        print '("Search time(s):  ", f12.3)', t1 - t0
  +        call print_cubes(sols)
  +    end subroutine
   end program
  
positive.code: 
      calls = 1
      call search(ps, size(ps), cube, sols)
      call cpu_time(t1)
  
      print '("Solutions:       ", i12)', sols%length
      print '("Calls of search: ", i12)', calls
      print '("Search time(s):  ", f12.3)', t1 - t0
      call print_cubes(sols)
  
  contains
      subroutine init_mrot(mrot)
  
negative.code:             if (sols%length <= size(sols%d, 4)) then
                  sols%d(:, :, :, sols%length) = cube
              end if
              if (one_sol) then
                  call finish()
                  stop
              end if
              return
          end if
  
  