Harryxun/stf_run huggingface dataset:
N=int(input())
a_l=[int(i) for i in input().split()]

sum1=0
for (i,j) in it.combinations(a_l, 2):
        sum1+=i^j
print(sum1%(7+10**9))

### FIXED CODE ###

n=int(input())
lis=list(map(lambda x:format(int(x),'b'),input().split()))
l=0
for i in range(n):
    l=max(l,len(lis[i]))

d0=[0]*60
d1=[0]*60

for i in range(n):
    lis[i]=lis[i].zfill(l)
    for j in range(l):
        if lis[i][-j-1]=='0':
            d0[j]+=1
        else:
            d1[j]+=1

ans=0
for i in range(60):
    ans+=(d0[i]*d1[i]*2**i)%(10**9+7)
print(ans%(10**9+7))
N,Y=map(int,input().split(" "))

x=-1
y=-1
z=-1

bp=0
for i in range(N+1):
    for j in range(N+1-i):
        if Y==9000*i+4000*j+1000*N:
            x=i
            y=j
            z=N-i-j
            bp=1
            break
    if bp==1:
        break
        
print(f"{x} {y} {z}")

### FIXED CODE ###

N,Y=map(int,input().split(" "))

x=-1
y=-1
z=-1
bp=0

for i in range(N+1):
    for j in range(N+1-i):
        if Y==9000*i+4000*j+1000*N:
            x=i
            y=j
            z=N-i-j
            bp=1
            break
    if bp==1:
        break
        
print("{} {} {}".format(x,y,z))
t = 0
l = [int(input()) for i in range(5)]
min1 = 9
minN = 0
for i in l:
    if i%10 != 0:
        if i%10 < min1:
            min1 = i%10
            minN = i
l.remove(minN)
l.append(minN)

for i in range(5):
    if(l[i]%10 != 0 and i != 4):
        t += int(l[i]/10) * 10 + 10

    elif l[i]%10 == 0 or i == 4:
        t += l[i]
    
print(t) 
        


### FIXED CODE ###

# coding: utf-8
# Your code here!

food = [int(input()) for i in range(5)]

minr = 10
minf = 0
for f in food:
    if f % 10 != 0 :
        if f % 10 < minr :
            minr = f % 10
            minf = f
if minf == 0:
    minf = food[0]
        

food.remove(minf)
food.append(minf)

sumf = 0
i = 0
for f in food:
    if i == 4:
        sumf += f
    elif f % 10 != 0:
        sumf += int(f/10) * 10 + 10
    else:
        sumf += f
    i+=1
print(sumf)
N = int(input())
xy = [map(int, input().split()) for _ in range(5)]
x, y = [list(i) for i in zip(*xy)]
flag = 0
for i in range(N-2):
  if x[i] == y[i]:
    if x[i+1] == y[i+1]:
      if x[i+2] == y[i+2]:
        flag = 1

if flag == 1:
  print('Yes')
else:
  print('No')

### FIXED CODE ###

N = int(input())
xy = [map(int, input().split()) for _ in range(N)]
x, y = [list(i) for i in zip(*xy)]
flag = 0
count = 0

for i in range(N):
  if x[i] == y[i]:
    count += 1
    if count >= 3:
      flag = 1
  else:
    count = 0

if flag == 1:
  print('Yes')
else:
  print('No')
n=int(input())
H=list(map(int,input().split()))
c=0
C=[]
for i in range(n-1):
    if H[i]>=H[i+1]:
        c+=1
    else:
        C.append(c)
        c=0
    if i==n-2:
        C.append(c)
print(max(C))
    

### FIXED CODE ###

n=int(input())
H=list(map(int,input().split()))
c=0
C=[]

    

for i in range(n-1):
    if H[i]>=H[i+1]:
        c+=1
    else:
        C.append(c)
        c=0
    if i==n-2:
        C.append(c)
if len(H)!=1:        
    ans=max(C)
else:
    ans=0

print(ans)
num = input()
num = str(num)
isthere = False
for i in range(0, 2):
	if num[i] == '9':
		isthere = True

if isthere:
	print('Yes')
else:
	print('No')

input()

### FIXED CODE ###

num = input()
num = str(num)
isthere = False
for i in range(0, 2):
	if num[i] == '9':
		isthere = True

if isthere:
	print('Yes')
else:
	print('No')
n=int(input())
a=[]
d=[]
for i in range(n):
  c=[]
  b=int(input())
  d.append(b)
  for j in range(b):
    c.append(list(map(int,input().split())))
  a.append(c)


count=0
for i in range(2**n):
  x=[0]*n
  pre=0
  for j in range(n):
    if ((i>>j)&1):
      x[n-1-j]=1 
      for l in range(d[n-1-j]):
        if ((i>>(a[j][l][0]-1))&1)!=a[j][l][1]:
          pre+=1
  if pre!=0:
    count=count
  else:
    count=max(count,x.count(1))
print(count)

### FIXED CODE ###

n=int(input())
a=[]
d=[]
for i in range(n):
  c=[]
  b=int(input())
  d.append(b)
  for j in range(b):
    c.append(list(map(int,input().split())))
  a.append(c)


count=0
for i in range(2**n):
  x=[0]*n
  pre=0
  for j in range(n):
    if ((i>>j)&1):
      x[n-1-j]=1 
      for l in range(d[j]):
        if ((i>>(a[j][l][0]-1))&1)!=a[j][l][1]:
          pre+=1
  if pre!=0:
    count=count
  else:
    count=max(count,x.count(1))
print(count)
s = input()
it=0
con = 1
while it+1 < len(s):
	if s[it] == s[it+1]:
		if it + 2 == len(s):
			it += 2
			con += 0
		elif it + 3 == len(s):
			it += 3
			con += 1
        else:
			it += 3
			con += 2
	else:
		it += 1
		con += 1
print(con)

### FIXED CODE ###

s = input()
it=0
con = 1
while it+1 < len(s):
	if s[it] == s[it+1]:
		if it + 2 == len(s):
			it += 2
			con += 0
		elif it + 3 == len(s):
			it += 3
			con += 1
		else:
			it += 3
			con += 2
	else:
		it += 1
		con += 1
print(con)
def solve(s1, s2, s3, S, N):
	for i in range(N):
		if S[i] == s1:
			left = i
			break
	for i in range(left + 1, N):
		if S[i] == s2:
			mid = i
			break
	for i in range(mid + 1, N):
		if S[i] == s3:
			right = i
			break
	if right < N:
		return True
	else:
		return False

if __name__ == "__main__":
	N = int(input())
	S = input()
	ans = 0
	for s1 in range(0, 10):
		for s2 in range(0, 10):
			for s3 in range(0, 10):
				if solve(str(s1), str(s2), str(s3), S, N):
					ans += 1
	print(ans)

### FIXED CODE ###

import itertools

N = int(input())
S = input()
S = [int(x) for x in S]

left_index = [[-1] * (N+1) for _ in range(10)]

for i,x in enumerate(S,1):
	for j in range(10):
		left_index[j][i] = left_index[j][i-1]
	left_index[x][i] = i


answer = 0
for a,b,c in itertools.product(range(10),repeat=3):
	i = N
	bl = True
	for x in [a,b,c]:
		i = left_index[x][i] - 1
		if i < -1:
			bl = False
			break
	if bl:
		answer += 1

print(answer)
import sys
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x) - 1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def II(): return int(sys.stdin.readline())
def SI(): return int(input())
from collections import defaultdict, Counter
import bisect

sys.setrecursionlimit(10000000)

n = SI()
xy = [(0,0) for _ in range(n)]
div = defaultdict(int)
for i in range(n):
    x, y = LI()
    xy[i] = (x, y)
if n==1:
    print(1)
    return 
for i in range(n):
    for j in range(n):
        if i == j:
            continue
        else:
            div["{}_{}".format(xy[i][0] - xy[j][0], xy[i][1]- xy[j][1])] += 1

max_ = max(div.values())
print(n - max_)

### FIXED CODE ###

import sys
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x) - 1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def II(): return int(sys.stdin.readline())
def SI(): return int(input())
from collections import defaultdict, Counter
import bisect

sys.setrecursionlimit(10000000)

n = SI()
xy = [(0,0) for _ in range(n)]
div = defaultdict(int)
for i in range(n):
    x, y = LI()
    xy[i] = (x, y)
if n==1:
    print(1)
else:
    for i in range(n):
        for j in range(n):
            if i == j:
                continue
            else:
                div["{}_{}".format(xy[i][0] - xy[j][0], xy[i][1]- xy[j][1])] += 1

    max_ = max(div.values())
    print(n - max_)
a,b=map(int,input().split())
s=0
s += b
s += a*(10**len(a))
for i in range(320):
    if s==i*i:
        print(i)
        exit()


### FIXED CODE ###

a,b=input().split()
s=0
s += int(b)
s += int(a)*(10**len(b))
for i in range(320):
    if s==i*i:
        print('Yes')
        exit()
print('No')
import math
from functools import reduce

def lcm_base(x, y):
  return (x*y)//math.gcd(x, y)

def lcm_list(numbers):
  return reduce(lcm_base, numbers, 1)

n = int(input())
ts = [0]*n
for i in range(n):
  ts[i] = int(input())

print(lcm_list(ts))

### FIXED CODE ###

import fractions
from functools import reduce
 
def lcm_base(x, y):
  return (x*y)//fractions.gcd(x, y)
 
def lcm_list(numbers):
  return reduce(lcm_base, numbers, 1)
 
n = int(input())
ts = [0]*n
for i in range(n):
  ts[i] = int(input())

print(lcm_list(ts))
(n,m) = [int(i) for i in input().split()]

A = []
for nc in range(n):
    A.append([int(i) for i in input().split()])

b = []
for mc in range(m):
    b.append(int(i) for i in input())

product = []
for nc in range(n):
    total = 0
    for mc in range(m):
        total += A[nc][mc] * b[mc]

    product.append(total)

[print(p) for p in product]

### FIXED CODE ###

(n,m) = [int(i) for i in input().split()]

A = []
for nc in range(n):
    A.append([int(i) for i in input().split()])

b = []
for mc in range(m):
    b.append(int(input()))

product = []
for nc in range(n):
    total = 0
    for mc in range(m):
        total += A[nc][mc] * b[mc]

    product.append(total)

[print(p) for p in product]
s = input()
n = len(s)

if s[0] == '0' or s[-1] == '1':
    print(-1)
    exit()
for i in range(n-1):
    if s[i] != s[-2-i]:
        print(-1)
        exit()

ans = [(1, v) for v in range(2, n+1)]
u_child = 2
i_replace = -1
for i in range(1, n//2):
    if s[i] == '1':
        for _ in range(i):
            ans[i_replace] = (u_child, ans[i_replace][1])
            i_replace -= 1
        u_child += 1
for a in ans:
    print(*a)


### FIXED CODE ###

s = input()
n = len(s)

if s[0] == '0' or s[-1] == '1':
    print(-1)
    exit()
for i in range(n-1):
    if s[i] != s[-2-i]:
        print(-1)
        exit()

path = {1:[v for v in range(2, n+1)]}

ans = []
u_cur, v_cur = 1, 2
n_prev = 0
for i in range(1, n//2):
    if s[i] == '1':
        for _ in range(i-n_prev):
            ans.append((u_cur, v_cur))
            v_cur += 1
        ans.append((v_cur, u_cur))
        u_cur, v_cur = v_cur, v_cur+1
        n_prev = i+1
for v in range(v_cur, n+1):
    ans.append((v_cur-1, v))
for a in ans:
    print(*a)
N=int(input())
if N[0]=='9' or N[1]=='9':
  print('Yes')
else:
  print('NO')

### FIXED CODE ###

N=str(input())
if N[0]=='9' or N[1]=='9':
  print('Yes')
else:
  print('No')
h,w=map(int,input().split())
s=[]
for _ in range(h):
    s += list(input())

L=[int(x) for x in range(h+w-2)]
mn=(h+w)//2
import itertools
for route in itertools.permutations(L,h-1):
    route=sorted(route)
    if s[0]=='.':
        t=0
        count=0
    else:
        t=1
        count=2
    k=0
    for i in L:
        if i in route:
            if s[k]!=s[k+1]:
                if t==0:
                    count += 1
                    t=1
                else:
                    t=0
            k += 1
        else:
            if s[k]!=s[k+w]:
                if t==0:
                    count += 1
                    t=1
                else:
                    t=0
            k += w
    mn=min(mn,count)

print(mn)

### FIXED CODE ###

h,w=map(int,input().split())
s=[]
for _ in range(h):
    s.append(list(input()))
a=[[0]]
for i in range(1,h):
    t=a[i-1][0]
    if s[i][0]!=s[i-1][0]:
        a.append([t+1])
    else:
        a.append([t])

for j in range(1,w):
    t=a[0][j-1]
    if s[0][j]!=s[0][j-1]:
        a[0].append(t+1)
    else:
        a[0].append(t)

for i in range(1,h):
    for j in range(1,w):
        up=a[i-1][j]
        left=a[i][j-1]
        if s[i][j]!=s[i-1][j]:
            up += 1
        if s[i][j]!=s[i][j-1]:
            left += 1
        mn=min(up,left)
        a[i].append(mn)
num=a[h-1][w-1]
ans=(num+1)//2
if s[0][0]=='#' and num%2==0:
    ans += 1
print(ans)
n = input()
kakeru = input().split()
kakekake = kakeru[0]
    if n > 2:
        for i in range(n-2):
            kakekake = kakekake * kakeru[i+1]
if kakekake > 10**18:
    print(-1)
print(kakekake)

### FIXED CODE ###

n = int(input())
b = 1
a = list(map(int,input().split()))
if 0 in a:
    print(0)
else:
    for i in range(n):
        b *= a[i]
        if b > 10**18:
            print(-1)
            break
    if b <=10**18:
        print(b)
import functools
import math
N = int(input())
a = list(map(int, input().split()))

gcd = []
for i in range(N) :
    list_not_i = []
    for j in range(N) :
        if i != j :
            list_not_i.append(int(a[j]))
    gcd.append(functools.reduce(math.gcd, list_not_i))

print(max(gcd))

### FIXED CODE ###

import functools
import fractions
N = int(input())
a = list(map(int, input().split()))

L = [0] * N
for i in range(N) :
        if i == 0 :
                L[0] = 0
        elif i == 1 :
                L[1] = a[0]
        else :
                L[i] = fractions.gcd(L[i-1], a[i-1])

a.reverse()
R = [0] * N
for i in range(N) :
        if i == 0 :
                R[0] = 0
        elif i == 1 :
                R[1] = a[0]
        else :
                R[i] = fractions.gcd(R[i-1], a[i-1])
R.reverse()
a.reverse()

gcd = [0] * N
for i in range(N) :
        if i == 0 :
                gcd[0] = R[0]
        elif i == N-1 :
                gcd[N-1] = L[N-1]
        else :
                gcd[i] = fractions.gcd(L[i],R[i])

print(max(gcd))
import sys
import math

def main():
    a, b, k = map(int, sys.stdin.readline().split())
    query_range = list(range(a, b + 1))

    if a == b:
        res = query_range
    elif k >= math.ceil((b - a + 1) / 2):
        res = query_range
    else:
        res = query_range[:k] + query_range[-k:]

    for i in res:
        print(i)
    
if __name__ == "__main__":
    main()


### FIXED CODE ###

import sys

a, b, k = map(int, sys.stdin.readline().split())

def main():
    if k >= b - a + 1:
        res = list(range(a, b+1))
    else:
        res = set(range(a, a+k)) | set(range(b, b-k, -1))
        res = sorted(res)
    return res

if __name__ == '__main__':
    ans = main()
    print(*ans, sep='\n')
a = [int(input()) for _ in range(int(input()))]
c,s = 1,a[0]
if s != 2 and c < n: c,s = c+1,a[n-1]
print(c if c < n else "-1")

### FIXED CODE ###

n = int(input())
a = [int(input()) for _ in range(n)]
c,s = 1,a[0]
while s != 2 and c < n:c,s = c+1,a[s-1]
print(c if c < n else "-1")
n,w=map(int,input().split())
b=[]
for _ in range(n):
  u,v=map(int,input().split())
  b.append((u, v))
dp=[[float("inf")]*(10**3*n+1) for _in range(n+1)]
dp[0][0]=0
res=0
for i in range(n):
  for j in range(10**3*n+1):
    if dp[i][j]!=float("inf"):
      dp[i+1][j]=min(dp[i+1][j],dp[i][j])
      dp[i+1][j+b[i][1]]=min(dp[i+1][j+b[i][1]],dp[i][j]+b[i][0])
for i in range(10**3*n+1):
  dp[-1][i]!=float("inf"):
    res=i
print(res)

### FIXED CODE ###

import sys
input = sys.stdin.readline
N, W = map(int, input().split())
b = [tuple(map(int, input().split())) for _ in range(N)]
dp = [[float("inf")] * (pow(10, 5) + 1) for _ in range(N + 1)]
dp[0][0] = 0
for i in range(N):
  for j in range(pow(10, 5) + 1):
    if dp[i][j] != float("inf"):
      dp[i + 1][j + b[i][1]] = min(dp[i][j] + b[i][0], dp[i + 1][j + b[i][1]])
    dp[i + 1][j] = min(dp[i + 1][j], dp[i][j])
res = 0
for j in range(pow(10, 5) + 1):
  if dp[-1][j] <= W:
    res = max(res, j)
print(res)
a,b,c=input().split()
a=int(a)
b=int(b)
if b=='-':
  print(a-c)
else:
  print(a+b)

### FIXED CODE ###

a,b,c=input().split()
a=int(a)
c=int(c)
if b=='-':
  print(a-c)
else:
  print(a+c)
s = list("abcdef")
x, y = input().split()
if s.index(x) > s.index(y):
  print(">")
elif s.index(x) < s.index(y):
  print("<")
else:
  print("=")

### FIXED CODE ###

s = list("ABCDEF")
x, y = input().split()
if s.index(x) > s.index(y):
  print(">")
elif s.index(x) < s.index(y):
  print("<")
else:
  print("=")
n, k = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]

visited = []
order = {}
x = 1
T = -1
while T < 0:
  x = a[x-1] #添字に直す
  if x not in visited:
    visited.append(x)
    order[x] = len(visited)-1
  else:
    T = (len(visited)-1) - order[x]
    s = order[x]
if k < s:
  print(visited[k])
else:
  mod = (k-s) % T
  print(visited[s+mod])


### FIXED CODE ###

n, k = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]

visited = [-1 for i in range(n+1)] # 訪れていたら訪れたときの添字を格納する。
points = []
p = 1
while visited[p] == -1:
  visited[p] = len(points)
  points.append(p)
  p = a[p-1] #添字に直す

T = len(points) - visited[p]
s = visited[p]

if k < s:
  print(points[k])
else:
  mod = (k - s) % T
  print(points[s+mod])
count = 0
for i in range(N+1):
    for t in range(N+1):
        if i<t:
            count+=1 if sum(A[i:t])%M==0 and sum(A[i:t]) != 0 else  0
print(count)


### FIXED CODE ###

import collections
import numpy as np

N,M = list(map(int,input().split()))
A = input().split()

A = np.array(A,dtype='int64')
C = np.append([0],np.cumsum(A))
L = [i%M for i in C]
L_c = collections.Counter(L)

ans = 0
for i in L_c.values():
    S = i * (i-1) / 2
    ans+=S
    
print(int(ans))
print("vowel" if c in "aeiou" else "consonant"))

### FIXED CODE ###

print("vowel" if input() in "aeiou" else "consonant")
Books,Cost,X=None,None,None
DP={}

def getUnderstanding(prev,curr):
    global Books
    L=[]
    for i in range(len(prev)):
        L.append(prev[i]+Books[curr][i])
    return L
def isUnderstandingReached(prev):
    global X
    for u in prev:
        if u<X:
            return False
    return True

def F(curr,prev):
    global Books,Cost,X,DP
    if (curr,tuple(prev)) in DP:
        return DP[(curr,prev)]
    if isUnderstandingReached(prev):
        return 0
    if curr==len(Books):
        return float('inf')
    DP[(curr,tuple(prev))]=min(Cost[curr]+F(curr+1,getUnderstanding(prev,curr)),F(curr+1,prev))
    return DP[(curr,tuple(prev))]

N,M,X=map(int,input().strip().split())
Books=[]
Cost=[]
for i in range(N):
    L=list(map(int,input().strip().split()))
    Books.append(L[1:])
    Cost.append(L[0])
res=F(0,[0]*len(Books[0]))
if res=='inf':
  print(-1)
else:
  print(res)

### FIXED CODE ###

Books,Cost,X=None,None,None
DP={}

def getUnderstanding(prev,curr):
    global Books
    L=[]
    for i in range(len(prev)):
        L.append(prev[i]+Books[curr][i])
    return L
def isUnderstandingReached(prev):
    global X
    for u in prev:
        if u<X:
            return False
    return True

def F(curr,prev):
    global Books,Cost,X,DP
    #if (curr,tuple(prev)) in DP:
    #    return DP[(curr,prev)]
    if isUnderstandingReached(prev):
        return 0
    if curr==len(Books):
        return float('inf')
    DP[(curr,tuple(prev))]=min(Cost[curr]+F(curr+1,getUnderstanding(prev,curr)),F(curr+1,prev))
    return DP[(curr,tuple(prev))]

N,M,X=map(int,input().strip().split())
Books=[]
Cost=[]
for i in range(N):
    L=list(map(int,input().strip().split()))
    Books.append(L[1:])
    Cost.append(L[0])
res=F(0,[0]*len(Books[0]))
if res==float('inf'):
    print(-1)
else:
    print(res)
x=input().split()

y=[0]*3

for i in range(3):
  y[i]=int(x[i])

if ans>y[2]-(y[0]-y[1]):
  print(ans)
  
elif ans<y[2]-(y[0]-y[1]):
    print(0)

### FIXED CODE ###

x=input().split()

y=[0]*3

for i in range(3):
  y[i]=int(x[i])

ans=(y[2]-(y[0]-y[1]))

if ans>0:
  print(ans)
  
elif ans<=0:
  print(0)
#!/usr/bin/evn python3
# input
n, m = map(int, input().split())
persons = []
checks = []
for i in range(n):
    point = tuple(map(int, input().split()))
    persons.append(point)
for i in range(m):
    point = tuple(map(int, input().split()))
    checks.append(point)

# print(persons)
# print(checks)
    
def get_distance(person, check):
    return abs(person[0] - check[0]) + abs(person[1] - check[1])
    
for i in range(n):
    min_distance = 10 ** 10
    min_distance_point_num = -1

    # calculate min distance from n to each m
    for j in range(m):
        distance = get_distance(persons[i], checks[j])
        if distance < min_distance:
            min_distance = distance
            min_distance_point_num = j + 1

    print(min_distance_point_num)


### FIXED CODE ###

#!/usr/bin/env python3
a, b = map(int, input().split())
print((a+b) % 24)
import math

a, b, x = map(int, input().split())

x2 = x/a
c = x2*2/a - b
ans=math.atan(a/(b-c))
ans = 90 - ans / math.pi * 180
if c <= 0:
    c = x2*2 / b
    ans=math.atan(c/b)
    ans = 90 - ans / math.pi * 180


print(ans)

### FIXED CODE ###

import math

a, b, x = map(int, input().split())
if (x == a*a*b):
    ans = 0.0000000000
    print(ans)
else:
    x2 = x/a
    c = x2*2/a - b
    ans=math.atan(a/(b-c))
    ans = 90 - ans / math.pi * 180
    if c <= 0:
        c = x2*2 / b
        ans=math.atan(c/b)
        ans = 90 - ans / math.pi * 180
    print(ans)
N = int(input())
L = list(map(int, input().split()))

L.sort()
#print(L)

count = 0
for i in range(N-1):
    for j in range(i+1, N-1):
        L_ = L[j+1:]
        #print(L[i] + L[j], ">", L_, "?")
        key = len(L_) // 2
        #print("init key", key)
        past_key = 0
        n = 2
        while key:
            n *= 2
            if L[i] + L[j] > L_[key]:
                key = key + round(len(L_) / n)
            elif L[i] + L[j] <= L_[key]:
                #print(n, round(key / n))
                key = key - round(len(L_) / n)
            
            if past_key == key:
                break
            else:
                past_key = key
            #print("next key", key)
            
        if L[i] + L[j] > L_[key]:
            count += key + 1
            

print(count)

### FIXED CODE ###

def fnt(arr,n): 
  
     
     
     
    count = 0
  
     
    for i in range(0,n-2): 
  
         
        k = i + 2
  
        # Fix the second element 
        for j in range(i+1,n): 
  
             
            while (k < n and arr[i] + arr[j] > arr[k]): 
                k += 1
  
             
            if(k>j): 
                count += k - j - 1
  
    return count
 
 
n=int(input())
arr=input()
arr=arr.split()
arr=list(map(int,arr))
arr.sort()
print(fnt(arr,n))
from scipy.special import comb
n,k=map(int,input().split())
INF=1000000007
for i in range(1,k+1):
  ans=int(comb(n-k+1,i,exact=True)*comb(k-1,i-1,exact=True))
  while ans>INF:
    ans=ans%INF
  print(ans)


### FIXED CODE ###

n,k=map(int,input().split())
dp=[[0 for i in range(k+1)] for j in range(n+1)]
for i in range(n+1):
  dp[i][0]=1
dp[1][1]=1
for i in range(2,n+1):
  for j in range(1,k+1):
    dp[i][j]=dp[i-1][j-1]+dp[i-1][j]
for i in range(1,k+1):
  ans=dp[n-k+1][i]*dp[k-1][i-1]
  while ans>10**9+7:
    ans%=10**9+7
  print(ans)
*A, = map(int, input().split())

min = float('inf')

for i in range(3):
	for j in range(3):
		if i==j:
          break
        min = min(abs(A[i]-A[j]), min)

print(min)

### FIXED CODE ###

import itertools

*A,  = map(int, input().split())

L = itertools.permutations(A)

min = float('inf')

for l in L:
    temp = abs(l[1]-l[0])+abs(l[2]-l[1])
    if min > temp:
        min = temp
print(min)
from scipy.special import comb

n, m = map(int, input().split())

a = comb(n, 2, exact=True)
b = comb(m, 2, exact=True)
print(a + b)

### FIXED CODE ###

n, m = map(int, input().split())

n_cmb = n * (n - 1) / 2
m_cmb = m * (m - 1) / 2
print(int(n_cmb + m_cmb))
N,K=map(int,input().split())
A=list(map(int,input().split()))
A=[a-1 for a in A]
Appeared=[]
k=0
location=0
T=0
T_List=[]
while k<=K:
    k+=1
    Appeared.append(location)
    location=A[location]
    if location in Appeared:
        T=k-Appeared.index(location)
        T_List=Appeared[k-T:k]
        break
if len(T_List)==0:
    print(Appeared[-1]+1)
else:
    Destination=(K-(k-T-1))%T
    print(T_List[Destination-1]+1)


### FIXED CODE ###

N,K=map(int,input().split())
A=list(map(int,input().split()))
A=[a-1 for a in A]
Arrived=[-1 for i in range(N)]
Appeared=[]
k=0
location=0
T=0
T_List=[]
while k<=K:
    k+=1
    Arrived[location]=k-1
    Appeared.append(location)
    location=A[location]
    if Arrived[location]!=-1:
        T=k-Arrived[location]
        T_List=Appeared[k-T:k]
        break
if len(T_List)==0:
    print(Arrived.index(k-1)+1)
else:
    Destination=(K-(k-T-1))%T
    print(T_List[Destination-1]+1)
n = int(input())
s = input()

ans = 0
while s.find('#.') != -1:
    pos = s.find('#.')
    if s[pos-1] == '#':
        s = s[:pos] + '##' + s[pos+2:]
    elif s[pos+2] == '.':
        s = s[:pos] + '..' + s[pos+2:]
    else:
        s = s[:pos] + '##' + s[pos+2:]
    ans += 1
print(ans)

### FIXED CODE ###

import sys
input = sys.stdin.readline

n = int(input())
s = list(input())
res = 10**9

cta = 0
ctb = 0
a = [0]*n
b = [0]*n
for i in range(n):
    if s[i] == '.':
        cta += 1
    else:
        ctb += 1
    a[i] = cta
    b[i] = ctb
for i in range(n):
    res = min(res,b[i]+a[-1]-a[i])
res = min(res,a[-1],b[-1])
print(res)