# Task
 The string is called `prime` if it cannot be constructed by concatenating some (more than one) equal strings together.

 For example, "abac" is prime, but "xyxy" is not("xyxy"="xy"+"xy").
 
 Given a string determine if it is prime or not.

# Input/Output


 - `[input]` string `s`

  string containing only lowercase English letters

 - `[output]` a boolean value

  `true` if the string is prime, `false` otherwise

Difficulty: introductory

Starter code:

def prime_string(s):
	

Solutions:
def prime_string(s):
    return (s + s).find(s, 1) == len(s)

import re
def prime_string(s):
  return not not re.sub(r"^(.+)\1+$","",s)

def prime_string(s):
    n=len(s)
    return all(s!= s[:i]*(n//i) for i in range(1,n//2 +1))
  
  
  
  


def prime_string(s):
    n = len(s)
    return n == 1 or all(s != s[:i] * (n//i) for i in range(1, n//2 +1))

def prime_string(s):
    return (s*2).find(s, 1) == len(s)

def prime_string(s):
    l = len(s)
    return not any( s == s[:l//n]*n for n in range(2, l+1) if l%n == 0 )

def prime_string(s):
    l=len(s)
    for i in range(1,len(s)//2+1):
        a=s[:i]
        b=l//i
        if a*b==s:return False
    return True


def prime_string(s):
    for i in range(len(s) // 2):
        if s[:i + 1] * (len(s)//len(s[:i+1])) == s : return 0
    return 1

def prime_string(s):
  return True if (s+s).find(s, 1, -1) == -1 else False

def prime_string(s):
    for i in range(1,len(s) // 2 + 1):
        if len(s) % i == 0 and (len(s) // i) * s[:i] == s:
            return False
    return True