Skip to content
Snippets Groups Projects
Commit b2e9ed5f authored by KWAK's avatar KWAK
Browse files

KWAK

parent d149f576
Branches
No related tags found
No related merge requests found
...@@ -67,7 +67,7 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가 ...@@ -67,7 +67,7 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가
meet1[1][1]=line_position[1][2]/line_position[1][1] meet1[1][1]=line_position[1][2]/line_position[1][1]
meet2[1][1]=meet1[0][1] meet2[1][1]=meet1[0][1]
meet1[1][0]=math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[1][1]-b1))+a1 meet1[1][0]=math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[1][1]-b1))+a1
meet2[1][0]=a1-math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[0][1]-b1)) meet2[1][0]=a1-math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[1][1]-b1))
if(cal_distance(meet1[1][0],meet1[1][1],a2,b2)>=cal_distance(meet2[1][0],meet2[1][1],a2,b2)): if(cal_distance(meet1[1][0],meet1[1][1],a2,b2)>=cal_distance(meet2[1][0],meet2[1][1],a2,b2)):
meet_result[1][0]=meet2[1][0] meet_result[1][0]=meet2[1][0]
meet_result[1][1]=meet2[1][1] meet_result[1][1]=meet2[1][1]
...@@ -116,7 +116,7 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가 ...@@ -116,7 +116,7 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가
meet1[2][0]=line_position[2][2]/line_position[2][0] meet1[2][0]=line_position[2][2]/line_position[2][0]
meet2[2][0]=meet1[2][0] meet2[2][0]=meet1[2][0]
meet1[2][1]=math.sqrt(r2*r2-(meet1[2][0]-a2)*(meet1[2][0]-a2))+b2 meet1[2][1]=math.sqrt(r2*r2-(meet1[2][0]-a2)*(meet1[2][0]-a2))+b2
meet2[2][1]=b2-math.sqrt(r2*r2-(meet1[2][0]-a1)*(meet1[2][0]-a2)) meet2[2][1]=b2-math.sqrt(r2*r2-(meet1[2][0]-a2)*(meet1[2][0]-a2))
if(cal_distance(meet1[2][0],meet1[2][1],a1,b1)>=cal_distance(meet2[2][0],meet2[2][1],a1,b1)): if(cal_distance(meet1[2][0],meet1[2][1],a1,b1)>=cal_distance(meet2[2][0],meet2[2][1],a1,b1)):
meet_result[2][0]=meet2[2][0] meet_result[2][0]=meet2[2][0]
meet_result[2][1]=meet2[2][1] meet_result[2][1]=meet2[2][1]
...@@ -125,8 +125,8 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가 ...@@ -125,8 +125,8 @@ def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가
meet_result[2][1]=meet1[2][1] meet_result[2][1]=meet1[2][1]
else: else:
a=1+(line_position[2][0]/line_position[2][1])*(line_position[2][0]/line_position[2][1]) a=1+(line_position[2][0]/line_position[2][1])*(line_position[2][0]/line_position[2][1])
b=(-2*a2)+((-2*line_position[2][0]*line_position[2][2]) / (line_position[2][1]*line_position[2][1]))+(2*line_position[2][0]*b1/line_position[2][1]) b=(-2*a2)+((-2*line_position[2][0]*line_position[2][2]) / (line_position[2][1]*line_position[2][1]))+(2*line_position[2][0]*b2/line_position[2][1])
c=(line_position[2][2]/line_position[2][1])*(line_position[2][2]/line_position[2][1]) + (-2*line_position[2][2]*b1/line_position[2][1]) + b2*b2 - r2*r2 +a2*a2 c=(line_position[2][2]/line_position[2][1])*(line_position[2][2]/line_position[2][1]) + (-2*line_position[2][2]*b2/line_position[2][1]) + b2*b2 - r2*r2 +a2*a2
meet1[2][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a) meet1[2][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[2][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a) meet2[2][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[2][1]=(-1*line_position[2][0]*meet1[2][0]/line_position[2][1])+(line_position[2][2]/line_position[2][1]) meet1[2][1]=(-1*line_position[2][0]*meet1[2][0]/line_position[2][1])+(line_position[2][2]/line_position[2][1])
...@@ -209,9 +209,24 @@ def second_situation(a1,b1,r1,a2,b2,r2,oa3,ob3,or3):#2번째 경우로 2개의 ...@@ -209,9 +209,24 @@ def second_situation(a1,b1,r1,a2,b2,r2,oa3,ob3,or3):#2번째 경우로 2개의
# print("x:",x1,"y:",y1) # print("x:",x1,"y:",y1)
def function(a1,b1,r1,a2,b2,r2,a3,b3,r3): def function(a1,b1,r1,a2,b2,r2,a3,b3,r3):
list=[r1,r2,r3]
list.sort()
a=cal_distance(a1,b1,a2,b2) a=cal_distance(a1,b1,a2,b2)
b=cal_distance(a1,b1,a3,b3) b=cal_distance(a1,b1,a3,b3)
c=cal_distance(a2,b2,a2,b2) c=cal_distance(a2,b2,a3,b3)
if(list[2]==r1):
if(r2+a<=r1 or r3+b<=r1):
print("error")
return 0
elif(list[2]==r2):
if(r1+a<=r2 or r3+c<=r2):
print("error")
return 0
elif(list[2]==r3):
if(r1+b<=r3 or r2+c<=r3):
print("error")
return 0
if(a<=r1+r2 and b<=r1+r3 and c<=r2+r3): if(a<=r1+r2 and b<=r1+r3 and c<=r2+r3):
first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3) first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3)
elif(a<=r1+r2 and b>r1+r3 and c>r2+r3): elif(a<=r1+r2 and b>r1+r3 and c>r2+r3):
...@@ -220,11 +235,13 @@ def function(a1,b1,r1,a2,b2,r2,a3,b3,r3): ...@@ -220,11 +235,13 @@ def function(a1,b1,r1,a2,b2,r2,a3,b3,r3):
second_situation(a1,b1,r1,a3,b3,r3,a2,b2,r2) second_situation(a1,b1,r1,a3,b3,r3,a2,b2,r2)
elif(a>r1+r2 and b>r1+r3 and c<=r2+r3): elif(a>r1+r2 and b>r1+r3 and c<=r2+r3):
second_situation(a2,b2,r2,a3,b3,r3,a1,b1,r1) second_situation(a2,b2,r2,a3,b3,r3,a1,b1,r1)
else:
print("error")
return 0
#예시
first_situation(20,10,10,9,10,1,10,9,1)
function(20,10,10,9,10,1,10,9,1) function(20,10,10,9,10,1,10,9,1)
print("-----------------------") print("-----------------------")
second_situation(0,3,1,0,4,1,5,3,1) function(9,10,1,10,9,1,20,10,10)
function(0,3,1,0,4,1,5,3,1) print("-----------------------")
function(10,9,1,9,10,1,20,10,10)
print("-----------------------") print("-----------------------")
\ No newline at end of file
import pymongo
import math
from pymongo import MongoClient
def cal_distance(a1,b1,a2,b2):
return math.sqrt((a2-a1)*(a2-a1)+(b2-b1)*(b2-b1))
def first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#첫번째 경우로 원 3개가 서로에게 모두 겹치는 경우가 있는 경우이다
line_position = [[0,0,0],[0,0,0],[0,0,0]]#Ax+By=c의 형태[A,B,C]
meet1 = [[0,0],[0,0],[0,0]]
meet2 = [[0,0],[0,0],[0,0]]
meet_result = [[0,0],[0,0],[0,0]]
#첫번째 직선(1,2)
line_position[0][0]=-2*a1+2*a2
line_position[0][1]=-2*b1+2*b2
line_position[0][2]=(r1*r1-r2*r2)+(a2*a2-a1*a1)+(b2*b2-b1*b1)
#두번째 직선(1,3)
line_position[1][0]=-2*a1+2*a3
line_position[1][1]=-2*b1+2*b3
line_position[1][2]=(r1*r1-r3*r3)+(a3*a3-a1*a1)+(b3*b3-b1*b1)
#세번째 직선(2,3)
line_position[2][0]=-2*a2+2*a3
line_position[2][1]=-2*b2+2*b3
line_position[2][2]=(r2*r2-r3*r3)+(a3*a3-a2*a2)+(b3*b3-b2*b2)
#첫번째 직선의 교점
if(line_position[0][0]==0 and line_position[0][1]!=0):
meet1[0][1]=line_position[0][2]/line_position[0][1]
meet2[0][1]=meet1[0][1]
meet1[0][0]=math.sqrt(r1*r1-(meet1[0][1]-b1)*(meet1[0][1]-b1))+a1
meet2[0][0]=a1-math.sqrt(r1*r1-(meet1[0][1]-b1)*(meet1[0][1]-b1))
if(cal_distance(meet1[0][0],meet1[0][1],a3,b3)>=cal_distance(meet2[0][0],meet2[0][1],a3,b3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
elif(line_position[0][0]!=0 and line_position[0][1]==0):
meet1[0][0]=line_position[0][2]/line_position[0][0]
meet2[0][0]=meet1[0][0]
meet1[0][1]=math.sqrt(r1*r1-(meet1[0][0]-a1)*(meet1[0][0]-a1))+b1
meet2[0][1]=b1-math.sqrt(r1*r1-(meet1[0][0]-a1)*(meet1[0][0]-a1))
if(cal_distance(meet1[0][0],meet1[0][1],a3,b3)>=cal_distance(meet2[0][0],meet2[0][1],a3,b3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
else:
a=1+(line_position[0][0]/line_position[0][1])*(line_position[0][0]/line_position[0][1])
b=(-2*a1)+((-2*line_position[0][0]*line_position[0][2]) / (line_position[0][1]*line_position[0][1]))+(2*line_position[0][0]*b1/line_position[0][1])
c=(line_position[0][2]/line_position[0][1])*(line_position[0][2]/line_position[0][1]) + (-2*line_position[0][2]*b1/line_position[0][1]) + b1*b1 - r1*r1 + a1*a1
meet1[0][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[0][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[0][1]=(-1*line_position[0][0]*meet1[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1])
meet2[0][1]=(-1*line_position[0][0]*meet2[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1])
if(cal_distance(meet1[0][0],meet1[0][1],a3,b3)>=cal_distance(meet2[0][0],meet2[0][1],a3,b3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
print("x1:",meet_result[0][0],"y1:",meet_result[0][1])
#두번째 직선의 교점
if(line_position[1][0]==0 and line_position[1][1]!=0):
meet1[1][1]=line_position[1][2]/line_position[1][1]
meet2[1][1]=meet1[0][1]
meet1[1][0]=math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[1][1]-b1))+a1
meet2[1][0]=a1-math.sqrt(r1*r1-(meet1[1][1]-b1)*(meet1[1][1]-b1))
if(cal_distance(meet1[1][0],meet1[1][1],a2,b2)>=cal_distance(meet2[1][0],meet2[1][1],a2,b2)):
meet_result[1][0]=meet2[1][0]
meet_result[1][1]=meet2[1][1]
else:
meet_result[1][0]=meet1[1][0]
meet_result[1][1]=meet1[1][1]
elif(line_position[1][0]!=0 and line_position[1][1]==0):
meet1[1][0]=line_position[1][2]/line_position[1][0]
meet2[1][0]=meet1[1][0]
meet1[1][1]=math.sqrt(r1*r1-(meet1[1][0]-a1)*(meet1[1][0]-a1))+b1
meet2[1][1]=b1-math.sqrt(r1*r1-(meet1[1][0]-a1)*(meet1[1][0]-a1))
if(cal_distance(meet1[1][0],meet1[1][1],a2,b2)>=cal_distance(meet2[1][0],meet2[1][1],a2,b2)):
meet_result[1][0]=meet2[1][0]
meet_result[1][1]=meet2[1][1]
else:
meet_result[1][0]=meet1[1][0]
meet_result[1][1]=meet1[1][1]
else:
a=1+((line_position[1][0]/line_position[1][1])*(line_position[1][0]/line_position[1][1]))
b=(-2*a1)+((-2*line_position[1][0]*line_position[1][2]) / (line_position[1][1]*line_position[1][1]))+((2*line_position[1][0]*b1)/line_position[1][1])
c=((line_position[1][2]/line_position[1][1])*(line_position[1][2]/line_position[1][1])) + ((-2*line_position[1][2]*b1)/line_position[1][1]) + b1*b1 - r1*r1 + a1*a1
meet1[1][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[1][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[1][1]=(-1*line_position[1][0]*meet1[1][0]/line_position[1][1])+(line_position[1][2]/line_position[1][1])
meet2[1][1]=(-1*line_position[1][0]*meet2[1][0]/line_position[1][1])+(line_position[1][2]/line_position[1][1])
if(cal_distance(meet1[1][0],meet1[1][1],a2,b2)>=cal_distance(meet2[1][0],meet2[1][1],a2,b2)):
meet_result[1][0]=meet2[1][0]
meet_result[1][1]=meet2[1][1]
else:
meet_result[1][0]=meet1[1][0]
meet_result[1][1]=meet1[1][1]
print("x2:",meet_result[1][0],"y2:",meet_result[1][1])
#세번째 직선의 교점
if(line_position[2][0]==0 and line_position[2][1]!=0):
meet1[2][1]=line_position[2][2]/line_position[2][1]
meet2[2][1]=meet1[2][1]
meet1[2][0]=math.sqrt(r2*r2-(meet1[2][1]-b2)*(meet1[2][1]-b2))+a2
meet2[2][0]=a2-math.sqrt(r2*r2-(meet1[2][1]-b2)*(meet1[2][1]-b2))
if(cal_distance(meet1[2][0],meet1[2][1],a1,b1)>=cal_distance(meet2[2][0],meet2[2][1],a1,b1)):
meet_result[2][0]=meet2[2][0]
meet_result[2][1]=meet2[2][1]
else:
meet_result[2][0]=meet1[2][0]
meet_result[2][1]=meet1[2][1]
elif(line_position[2][0]!=0 and line_position[2][1]==0):
meet1[2][0]=line_position[2][2]/line_position[2][0]
meet2[2][0]=meet1[2][0]
meet1[2][1]=math.sqrt(r2*r2-(meet1[2][0]-a2)*(meet1[2][0]-a2))+b2
meet2[2][1]=b2-math.sqrt(r2*r2-(meet1[2][0]-a2)*(meet1[2][0]-a2))
if(cal_distance(meet1[2][0],meet1[2][1],a1,b1)>=cal_distance(meet2[2][0],meet2[2][1],a1,b1)):
meet_result[2][0]=meet2[2][0]
meet_result[2][1]=meet2[2][1]
else:
meet_result[2][0]=meet1[2][0]
meet_result[2][1]=meet1[2][1]
else:
a=1+(line_position[2][0]/line_position[2][1])*(line_position[2][0]/line_position[2][1])
b=(-2*a2)+((-2*line_position[2][0]*line_position[2][2]) / (line_position[2][1]*line_position[2][1]))+(2*line_position[2][0]*b2/line_position[2][1])
c=(line_position[2][2]/line_position[2][1])*(line_position[2][2]/line_position[2][1]) + (-2*line_position[2][2]*b2/line_position[2][1]) + b2*b2 - r2*r2 +a2*a2
meet1[2][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[2][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[2][1]=(-1*line_position[2][0]*meet1[2][0]/line_position[2][1])+(line_position[2][2]/line_position[2][1])
meet2[2][1]=(-1*line_position[2][0]*meet2[2][0]/line_position[2][1])+(line_position[2][2]/line_position[2][1])
if(cal_distance(meet1[2][0],meet1[2][1],a1,b1)>=cal_distance(meet2[2][0],meet2[2][1],a1,b1)):
meet_result[2][0]=meet2[2][0]
meet_result[2][1]=meet2[2][1]
else:
meet_result[2][0]=meet1[2][0]
meet_result[2][1]=meet1[2][1]
print("x3:",meet_result[2][0],"y3:",meet_result[2][1])
print("x:",(meet_result[0][0]+meet_result[1][0]+meet_result[2][0])/3,"/y:",(meet_result[0][1]+meet_result[1][1]+meet_result[2][1])/3)
return 0
def second_situation(a1,b1,r1,a2,b2,r2,oa3,ob3,or3):#2번째 경우로 2개의 원만 겹치는 부분이 있는 경우이다.
line_position = [[0,0,0],[0,0,0],[0,0,0]]#Ax+By=c의 형태[A,B,C]
meet1 = [[0,0],[0,0],[0,0]]
meet2 = [[0,0],[0,0],[0,0]]
meet_result = [[0,0],[0,0],[0,0]]
#첫번째 직선(1,2)
line_position[0][0]=-2*a1+2*a2
line_position[0][1]=-2*b1+2*b2
line_position[0][2]=(r1*r1-r2*r2)+(a2*a2-a1*a1)+(b2*b2-b1*b1)
print(line_position[0])
#첫번째 직선의 교점
if(line_position[0][0]==0 and line_position[0][1]!=0):
meet1[0][1]=line_position[0][2]/line_position[0][1]
meet2[0][1]=meet1[0][1]
meet1[0][0]=math.sqrt(r1*r1-(meet1[0][1]-b1)*(meet1[0][1]-b1))+a1
meet2[0][0]=a1-math.sqrt(r1*r1-(meet1[0][1]-b1)*(meet1[0][1]-b1))
if(cal_distance(meet1[0][0],meet1[0][1],oa3,ob3)>=cal_distance(meet2[0][0],meet2[0][1],oa3,ob3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
elif(line_position[0][0]!=0 and line_position[0][1]==0):
meet1[0][0]=line_position[0][2]/line_position[0][0]
meet2[0][0]=meet1[0][0]
meet1[0][1]=math.sqrt(r1*r1-(meet1[0][0]-a1)*(meet1[0][0]-a1))+b1
meet2[0][1]=b1-math.sqrt(r1*r1-(meet1[0][0]-a1)*(meet1[0][0]-a1))
if(cal_distance(meet1[0][0],meet1[0][1],oa3,ob3)>=cal_distance(meet2[0][0],meet2[0][1],oa3,ob3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
else:
a=1+(line_position[0][0]/line_position[0][1])*(line_position[0][0]/line_position[0][1])
b=(-2*a1)+((-2*line_position[0][0]*line_position[0][2]) / (line_position[0][1]*line_position[0][1]))+(2*line_position[0][0]*b1/line_position[0][1])
c=(line_position[0][2]/line_position[0][1])*(line_position[0][2]/line_position[0][1]) + (-2*line_position[0][2]*b1/line_position[0][1]) + b1*b1 - r1*r1 + a1*a1
print(a,b,c)
meet1[0][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[0][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[0][1]=(-1*line_position[0][0]*meet1[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1])
meet2[0][1]=(-1*line_position[0][0]*meet2[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1])
print(meet1[0][0],meet1[0][1])
print(meet2[0][0],meet2[0][1])
print(cal_distance(meet1[0][0],meet1[0][1],oa3,ob3))
print(cal_distance(meet2[0][0],meet2[0][1],oa3,ob3))
if(cal_distance(meet1[0][0],meet1[0][1],oa3,ob3)>=cal_distance(meet2[0][0],meet2[0][1],oa3,ob3)):
meet_result[0][0]=meet2[0][0]
meet_result[0][1]=meet2[0][1]
else:
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
print("x:",meet_result[0][0],"y:",meet_result[0][1])
#def third_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3):#3번째 경우로 겹치는 원이 없는 경우이다.(값이 정확히지는 않음)
# a=2*(a1-a2)
# b=2*(b1-b2)
# c=(r2*r2-r1*r1)+(a1*a1-a2*a2)+(b1*b1-b2*b2)
# d=2*(a2-a3)
# e=2*(b2-b3)
# f=(r3*r3-r2*r2)+(a2*a2-a3*a3)+(b2*b2-b3*b3)
# y1=(f-((d*c) / a)) / (e-((b*d)/a))
# x1=(c-b*y1)/a
# print("x:",x1,"y:",y1)
def function(a1,b1,r1,a2,b2,r2,a3,b3,r3):
list=[r1,r2,r3]
list.sort()
a=cal_distance(a1,b1,a2,b2)
b=cal_distance(a1,b1,a3,b3)
c=cal_distance(a2,b2,a3,b3)
if(list[2]==r1):
if(r2+a<=r1 or r3+b<=r1):
print("error")
return 0
elif(list[2]==r2):
if(r1+a<=r2 or r3+c<=r2):
print("error")
return 0
elif(list[2]==r3):
if(r1+b<=r3 or r2+c<=r3):
print("error")
return 0
if(a<=r1+r2 and b<=r1+r3 and c<=r2+r3):
first_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3)
elif(a<=r1+r2 and b>r1+r3 and c>r2+r3):
second_situation(a1,b1,r1,a2,b2,r2,a3,b3,r3)
elif(a>r1+r2 and b<=r1+r3 and c>r2+r3):
second_situation(a1,b1,r1,a3,b3,r3,a2,b2,r2)
elif(a>r1+r2 and b>r1+r3 and c<=r2+r3):
second_situation(a2,b2,r2,a3,b3,r3,a1,b1,r1)
else:
print("error")
return 0
function(20,10,10,9,10,1,10,9,1)
print("-----------------------")
function(9,10,1,10,9,1,20,10,10)
print("-----------------------")
function(10,9,1,9,10,1,20,10,10)
print("-----------------------")
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment