Write a function name `nextPerfectSquare` that returns the first perfect square that is greater than its integer argument. A `perfect square` is a integer that is equal to some integer squared. For example 16 is a perfect square because `16=4*4`. 
```
example

n   next perfect sqare

6    9
36   49 
0    1
-5   0 
```
```if-not:csharp
caution! the largest number tested is closer to `Number.MAX_SAFE_INTEGER`
```
```if:csharp
Caution! The largest number test is close to `Int64.MaxValue`
```

Difficulty: introductory

Starter code:

def next_perfect_square(n):
	

Solutions:
def next_perfect_square(n):
    return n>=0 and (int(n**0.5)+1)**2

next_perfect_square=lambda n:(n>=0and int(n**.5)+1)**2

def next_perfect_square(n):
    return n >= 0 and (int(n**.5)+1)**2

import math
def next_perfect_square(n):
    return math.ceil((n + 1) ** 0.5) ** 2 if n > -1 else 0


from bisect import bisect
squares = [i*i for i in range(32000)]

def next_perfect_square(n):
    return bisect(squares, n)**2

next_perfect_square = lambda n: ((int(n**.5)+1) ** 2 if n>=0 else 0)

def next_perfect_square(n, i=0):
    while True:
        if i*i > n: return i*i
        i += 1

def next_perfect_square(n):
    if n<0:return 0
    is_square=lambda s:int(s**0.5)**2==s
    n+=1
    while not is_square(n):
        n+=1
    return n

from math import sqrt

def next_perfect_square(n):
    return 0 if n < 0 else (int(sqrt(n)) + 1) ** 2

from math import floor
def next_perfect_square(n):
    return (floor(n**(1/2)) + 1) ** 2 if n > 0 else 0 if n != 0 else 1