{{{id=1|
K.=NumberField(x^2-x-1)
import nosqlite
db=nosqlite.Client('/home/psharaba/table/ECdb').db
///
}}}
{{{id=2|
def saturate_rank_01(E, sat_bound):
v = E.simon_two_descent()
t2 = E.two_torsion_rank()
sel2 = v[1]
rank_bound = sel2 - t2
#if rank_bound >1:
# raise NotImplementedError
if rank_bound == 0:
return 0
Q = [p for p in v[2] if p.height()]
M = []
for T in E.torsion_points():
Po = E(Q[0] - T)
for p in prime_range(sat_bound):
if len(Po.division_points(p)) != 0:
print p
M.append(Po.division_points(p)[0])
N = [(q.height(),q) for q in M]
m = min(N)
return m[1]
def regulator_new(E,sat_bound):
Q = saturate_rank_01(E, sat_bound)
if Q:
return Q.height()/2, [Q]
else:
return int(1), []
def conjectural_sha(E, reg, Lstar, omega):
M = E.tamagawa_product_bsd()
sha = RR(sqrt(5))*Lstar*(E.torsion_order())^2/((omega)*reg*M)
return sha
def comp(weq,lstar,omega):
E=EllipticCurve(K,eval(weq))
R=regulator_new(E,10) #this is where one would change the value for saturation bound. Currently held at 10
Sha=conjectural_sha(E, R[0], lstar, omega)
return R[0],Sha
def rank_comp(ainv):
E=EllipticCurve(K,eval(ainv))
T = E.torsion_subgroup()
TI = T.invariants()
t2 = len([a for a in TI if a%2 == 0])
simon = E.simon_two_descent()
return simon[0],simon[1] - t2
///
}}}
{{{id=4|
broken2=[]
temp=db('select weq1,rank, a_lbl,b_lbl from N1k')
for r in range(len(temp)):
rlow,rhi=rank_comp(temp[r][0])
if rlow==rhi:
if rhi==temp[r][1]:
pass
else:
print rlow, rhi, temp[r][1],temp[r][0], 'rank bounds agree, but rank does not'
broken2.append((temp[r][0],temp[r][2], temp[r][3],temp[r][1], rlow, rhi, 'rank bounds agreed, but not with rank'))
else:
print r, rlow,rhi, temp[r][1], temp[r][0], 'rank bounds do not agree'
broken2.append((temp[r][0], temp[r][2], temp[r][3], temp[r][1], rlow,rhi, 'rank bounds do not agree, look within isogeny'))
print r
///
WARNING: Output truncated!
full_output.txt
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 0 2 0 [1,1,1,-2160,-39540] rank bounds do not agree
18
19
20 0 2 0 [1,a,a+1,-4976733*a-3075797,-6393196918*a-3951212998] rank bounds do not agree
20
21 0 2 0 [a,a+1,1,-4364*a-7739,-255406*a-296465] rank bounds do not agree
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
874 0 2 0 [a+1,-a-1,1,-2268*a-2268,10875*a+8156] rank bounds do not agree
874
875 0 2 0 [a+1,-a-1,1,-1443*a-1443,-37245*a-27934] rank bounds do not agree
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
}}}
{{{id=11|
len(broken2)
///
38
}}}
{{{id=10|
for r in broken2:
print r
///
(u'[1,1,1,-2160,-39540]', u'45a', u'a7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,a,a+1,-4976733*a-3075797,-6393196918*a-3951212998]', u'45a', u'a9', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,a+1,1,-4364*a-7739,-255406*a-296465]', u'45a', u'a10', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,-1,a+1,26638*a-43105,2494019*a-4035410]', u'99a', u'a6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,1,a+1,205599*a-332667,53727699*a-86933245]', u'145a', u'b7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,a,0,-3417*a-2143,-119535*a-73938]', u'205a', u'b6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,0,1,-4704*a-2907,-188363*a-116415]', u'209b', u'c3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,-a,a+1,2719*a-4427,-81534*a+131881]', u'220a', u'a3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,a+1,0,-300414*a-185685,-95102489*a-58776542]', u'220a', u'a7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,a,a+1,-400*a-400,-6044*a-4433]', u'225a', u'c9', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,a+1,a+1,262*a-437,2563*a-4183]', u'305a', u'a4', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,0,0,-107,-426]', u'320a', u'a5', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,0,0,-5241*a-3254,-218784*a-135242]', u'320a', u'a7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,0,0,35967*a-58198,3926128*a-6352610]', u'320a', u'a8', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,-a+1,0,2772*a-4480,85404*a-138192]', u'320a', u'b6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,a,0,-2772*a-1708,-85404*a-52788]', u'320a', u'c6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,a+1,1,257*a-431,2489*a-4075]', u'369a', u'b3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,a-1,1,18794*a-30410,1473480*a-2384141]', u'380a', u'b3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,0,0,413*a-663,6942*a-10331]', u'396a', u'a5', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,0,0,-784,-8515]', u'441a', u'a6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,-1,a,84266*a-136347,14053713*a-22739386]', u'445a', u'b4', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,a-1,a+1,-12273*a-7584,772903*a+477680]', u'495a', u'b3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,0,0,1919*a-3122,48680*a-78800]', u'495a', u'b5', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,-a+1,a,390*a-383,1768*a-5423]', u'495a', u'b7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,0,0,211264*a-341872,55903043*a-90453129]', u'495a', u'b8', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,a,a,13*a-22,-31*a+49]', u'539a', u'a1', 0, 1, 1, 'rank bounds agreed, but not with rank')
(u'[a,1,a,1797*a-2912,44574*a-72128]', u'545a', u'a3', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[0,-1,0,-384,-2772]', u'576a', u'a5', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,a-1,a+1,-5574*a-3520,-243182*a-150513]', u'605a', u'b6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,1,1,3387*a-5493,114900*a-185944]', u'725a', u'c7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[1,1,a+1,-3413*a-2108,-116137*a-71773]', u'775a', u'f6', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a,-1,a,142*a-237,-1049*a+1703]', u'781a', u'a1', 1, 0, 0, 'rank bounds agreed, but not with rank')
(u'[a+1,-a-1,a,-273*a-216,2921*a+1936]', u'781a', u'a2', 1, 0, 0, 'rank bounds agreed, but not with rank')
(u'[a,1,a+1,-220475*a-136262,59462360*a+36749759]', u'781a', u'a3', 1, 0, 0, 'rank bounds agreed, but not with rank')
(u'[a+1,-a-1,a,-283*a-201,2861*a+2009]', u'781a', u'a4', 1, 0, 0, 'rank bounds agreed, but not with rank')
(u'[1,a,a,-1033*a-654,-19938*a-12360]', u'855a', u'd5', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,-a-1,1,-2268*a-2268,10875*a+8156]', u'900a', u'a7', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
(u'[a+1,-a-1,1,-1443*a-1443,-37245*a-27934]', u'900a', u'a8', 0, 0, 2, 'rank bounds do not agree, look within isogeny')
}}}
{{{id=13|
E=EllipticCurve(K,[a,-1,a,-2*a,a-1])
v=E.simon_two_descent()
Q = [p for p in v[2] if p.height()]
Q
///
[]
}}}
{{{id=14|
db.N1k.update({'rank':int(1)},weq1='[a,a,a,13*a-22,-31*a+49]')
///
}}}
{{{id=12|
temp=db('select a_lbl,b_lbl,weq1, rank from N1k WHERE N=781 ORDER BY N,eta,R,V,U')
for r in temp:
print r
///
(u'781a', u'a1', u'[a,-1,a,142*a-237,-1049*a+1703]', 0)
(u'781a', u'a2', u'[a+1,-a-1,a,-273*a-216,2921*a+1936]', 0)
(u'781a', u'a3', u'[a,1,a+1,-220475*a-136262,59462360*a+36749759]', 0)
(u'781a', u'a4', u'[a+1,-a-1,a,-283*a-201,2861*a+2009]', 0)
(u'781b', u'a1', u'[a,-1,a,-2*a,a-1]', 0)
(u'781b', u'a2', u'[a,-1,a,3*a-10,4*a-8]', 0)
(u'781b', u'a3', u'[a,-1,a,-2*a-50,-121*a+57]', 0)
(u'781b', u'a4', u'[a,-1,a,88*a-130,401*a-661]', 0)
(u'781b', u'b1', u'[1,0,a+1,-3*a-2,-3*a-2]', 1)
(u'781b', u'b2', u'[1,0,a+1,-38*a-27,-143*a-91]', 1)
}}}
{{{id=6|
temp=db('select weq1,L,omega, a_lbl, b_lbl from N1k')
broken=[]
for r in range(len(temp)):
try:
R,S=comp(temp[r][0], temp[r][1], temp[r][2])
if R<=0:
broken.append((temp[r][0], temp[r][3], temp[r][4], 'R'))
print 'regulator is zero or negative'
if S<.5:
broken.append((temp[r][0], temp[r][3], temp[r][4],'S'))
print S, 'Sha value < .5'
else:
db.N1k.update({'Reg':float(R), 'Sha': float(S)}, weq1=temp[r][0])
except ValueError:
broken.append((temp[r][0], temp[r][3], temp[r][4],'VE'))
print 'ValueError occured'
except IndexError:
broken.append((temp[r][0], temp[r][3], temp[r][4], 'IE'))
print 'IndexError occured'
print r
///
WARNING: Output truncated!
full_output.txt
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IndexError occured
18
19
IndexError occured
20
IndexError occured
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
3
891
892
893
5
894
895
896
3
897
5
898
899
900
3
901
902
ValueError occured
903
ValueError occured
904
ValueError occured
905
ValueError occured
906
ValueError occured
907
IndexError occured
908
3
909
910
3
911
912
913
914
3
915
916
917
918
919
2
920
ValueError occured
921
922
923
924
925
926
ValueError occured
927
928
929
ValueError occured
930
ValueError occured
931
}}}
{{{id=7|
for r in broken:
print r
///
WARNING: Output truncated!
full_output.txt
(u'[1,1,1,-2160,-39540]', u'45a', u'a7', 'IE')
(u'[1,a,a+1,-4976733*a-3075797,-6393196918*a-3951212998]', u'45a', u'a9', 'IE')
(u'[a,a+1,1,-4364*a-7739,-255406*a-296465]', u'45a', u'a10', 'IE')
(u'[a+1,-1,a+1,26638*a-43105,2494019*a-4035410]', u'99a', u'a6', 'IE')
(u'[a+1,1,a+1,205599*a-332667,53727699*a-86933245]', u'145a', u'b7', 'IE')
(u'[0,a+1,1,a,0]', u'199a', u'a1', 'VE')
(u'[0,a+1,1,-9*a,-16*a-15]', u'199a', u'a2', 'VE')
(u'[0,-a-1,1,-28663*a-17718,-2768362*a-1710944]', u'199a', u'a3', 'VE')
(u'[a+1,a,0,-3417*a-2143,-119535*a-73938]', u'205a', u'b6', 'IE')
(u'[a+1,a+1,a+1,6*a-5,-a+8]', u'209b', u'a2', 'VE')
(u'[a+1,0,1,-4704*a-2907,-188363*a-116415]', u'209b', u'c3', 'IE')
(u'[a,-a,a+1,2719*a-4427,-81534*a+131881]', u'220a', u'a3', 'IE')
(u'[a,a+1,0,-300414*a-185685,-95102489*a-58776542]', u'220a', u'a7', 'IE')
(u'[a+1,a,a+1,-400*a-400,-6044*a-4433]', u'225a', u'c9', 'IE')
(u'[a,-a,a+1,-2,-a]', u'239a', u'a1', 'VE')
(u'[0,1,1,-1,0]', u'245a', u'a1', 'VE')
(u'[0,1,1,9,1]', u'245a', u'a2', 'VE')
(u'[0,1,1,-131,-650]', u'245a', u'a3', 'VE')
(u'[1,-a,a+1,-a-1,0]', u'269a', u'a1', 'VE')
(u'[1,-1,1,-6,-4]', u'289a', u'a2', 'VE')
(u'[1,-1,1,-91,-310]', u'289a', u'a3', 'VE')
(u'[1,-1,1,-1,-14]', u'289a', u'a4', 'VE')
(u'[1,a+1,a+1,262*a-437,2563*a-4183]', u'305a', u'a4', 'IE')
(u'[0,-1,a,0,0]', u'311a', u'a1', 'VE')
(u'[1,a-1,a,-a,0]', u'319a', u'a1', 'VE')
(u'[1,a-1,a,-11*a-5,15*a+9]', u'319a', u'a2', 'VE')
(u'[a+1,0,1,-1,0]', u'319b', u'a1', 'VE')
(u'[a+1,0,1,-5*a-6,6*a+2]', u'319b', u'a2', 'VE')
(u'[1,-a+1,a+1,-673*a-421,10173*a+6278]', u'319b', u'a3', 'VE')
(u'[a+1,0,1,-10*a-1,4*a-6]', u'319b', u'a4', 'VE')
(u'[0,0,0,-107,-426]', u'320a', u'a5', 'IE')
(u'[0,0,0,-5241*a-3254,-218784*a-135242]', u'320a', u'a7', 'IE')
(u'[0,0,0,35967*a-58198,3926128*a-6352610]', u'320a', u'a8', 'IE')
(u'[0,-a+1,0,2772*a-4480,85404*a-138192]', u'320a', u'b6', 'IE')
(u'[0,a,0,-2772*a-1708,-85404*a-52788]', u'320a', u'c6', 'IE')
(u'[a,-1,0,4*a-4,-3*a+4]', u'341a', u'a2', 'VE')
(u'[1,0,a,-11*a-11,26*a+12]', u'356a', u'a2', 'VE')
(u'[0,0,a+1,-a-1,0]', u'359a', u'a1', 'VE')
(u'[0,a,a+1,-1,-a]', u'361b', u'a1', 'VE')
(u'[0,a-1,a+1,273*a-445,-2773*a+4482]', u'361b', u'a2', 'VE')
(u'[a,a+1,1,257*a-431,2489*a-4075]', u'369a', u'b3', 'IE')
(u'[a,a-1,1,18794*a-30410,1473480*a-2384141]', u'380a', u'b3', 'IE')
(u'[a+1,0,0,413*a-663,6942*a-10331]', u'396a', u'a5', 'IE')
(u'[1,-a,1,0,0]', u'401a', u'a1', 'VE')
(u'[1,-a-1,0,-a-1,3*a+2]', u'404a', u'a1', 'VE')
(u'[1,a+1,a+1,a,0]', u'409a', u'a1', 'VE')
(u'[1,-a,1,a-1,0]', u'419a', u'b1', 'VE')
(u'[0,-a+1,a,-a,0]', u'431a', u'a1', 'VE')
(u'[1,0,0,-784,-8515]', u'441a', u'a6', 'IE')
(u'[a+1,-1,a+1,-2*a-2,-a]', u'445a', u'a1', 'VE')
(u'[a+1,-1,a+1,-7*a-7,-12*a-8]', u'445a', u'a2', 'VE')
(u'[a,a+1,1,134*a-214,902*a-1462]', u'445a', u'a3', 'VE')
(u'[a+1,-1,a+1,-112*a-62,-661*a-420]', u'445a', u'a4', 'VE')
(u'[a,-1,a,84266*a-136347,14053713*a-22739386]', u'445a', u'b4', 'IE')
(u'[0,a,a,a+1,0]', u'451a', u'a1', 'VE')
(u'[0,a-1,0,-a-1,1]', u'464a', u'a1', 'VE')
(u'[0,a-1,0,-6*a-1,-7*a-3]', u'464a', u'a2', 'R')
(u'[0,a-1,0,-6*a-1,-7*a-3]', u'464a', u'a2', 'S')
(u'[a,a,a,a-1,0]', u'495a', u'a1', 'VE')
...
(u'[0,0,0,-63*a-7,-480*a-306]', u'704a', u'b6', 'VE')
(u'[0,a-1,a,-a+1,-1]', u'711a', u'b1', 'VE')
(u'[0,a-1,a+1,148*a-246,-1151*a+1868]', u'725a', u'b1', 'VE')
(u'[0,a,a+1,2*a+2,-a]', u'725a', u'b2', 'VE')
(u'[a+1,1,1,3387*a-5493,114900*a-185944]', u'725a', u'c7', 'IE')
(u'[0,0,1,-30,63]', u'729a', u'a1', 'VE')
(u'[0,0,1,0,0]', u'729a', u'a2', 'VE')
(u'[0,0,1,0,-7]', u'729a', u'a3', 'VE')
(u'[0,0,1,-270,-1708]', u'729a', u'a4', 'IE')
(u'[1,-1,a,a-3,-2*a+3]', u'729a', u'b1', 'VE')
(u'[a,-a-1,a,-32*a-17,-78*a-48]', u'729a', u'b2', 'R')
(u'[a,-a-1,a,-32*a-17,-78*a-48]', u'729a', u'b2', 'S')
(u'[a,-a-1,a+1,4*a-8,-7*a+10]', u'739a', u'a1', 'VE')
(u'[1,0,a+1,-a,-a]', u'755a', u'b1', 'VE')
(u'[1,0,a+1,4*a-5,7*a-15]', u'755a', u'b2', 'IE')
(u'[a+1,0,0,a-1,0]', u'769a', u'a1', 'VE')
(u'[1,-a+1,a,-12*a-5,-19*a-11]', u'769a', u'a2', 'VE')
(u'[0,a,a,11*a-30,-37*a+71]', u'775a', u'a1', 'VE')
(u'[0,a,a,a,0]', u'775a', u'a2', 'VE')
(u'[0,1,a,-3,a-1]', u'775a', u'b1', 'R')
(u'[0,1,a,-3,a-1]', u'775a', u'b1', 'S')
(u'[1,1,a+1,-3413*a-2108,-116137*a-71773]', u'775a', u'f6', 'IE')
(u'[1,a,1,-1,0]', u'779b', u'a1', 'VE')
(u'[1,0,a+1,-3*a-2,-3*a-2]', u'781b', u'b1', 'VE')
(u'[1,0,a+1,-38*a-27,-143*a-91]', u'781b', u'b2', 'VE')
(u'[a,-a-1,a,5*a-6,4*a-7]', u'809a', u'a2', 'VE')
(u'[a,0,a,-a-1,0]', u'811a', u'a1', 'VE')
(u'[1,a+1,0,2*a-1,1]', u'820a', u'a1', 'VE')
(u'[1,a+1,0,12*a-31,-34*a+63]', u'820a', u'a2', 'VE')
(u'[a,1,a+1,-a,-a]', u'829a', u'a1', 'VE')
(u'[a+1,-1,0,-2*a,a]', u'829a', u'b1', 'VE')
(u'[a,-a+1,a,23*a-39,-55*a+88]', u'829a', u'c1', 'VE')
(u'[a+1,-a,a,-164*a-107,-1237*a-753]', u'829a', u'c2', 'VE')
(u'[1,-a+1,0,23*a-47,-69*a+102]', u'836b', u'a2', 'VE')
(u'[1,-a+1,0,373*a-757,-5395*a+8016]', u'836b', u'a3', 'VE')
(u'[a,a-1,a+1,-7*a-5,6*a+4]', u'855a', u'a1', 'VE')
(u'[a,a-1,a+1,-2*a,-a-1]', u'855a', u'a2', 'VE')
(u'[a,a-1,a+1,-97*a-80,588*a+337]', u'855a', u'a3', 'VE')
(u'[1,-a,0,39*a-63,-126*a+207]', u'855a', u'a4', 'VE')
(u'[1,a,a,-1033*a-654,-19938*a-12360]', u'855a', u'd5', 'IE')
(u'[a+1,-a+1,1,a-3,1]', u'869a', u'a1', 'VE')
(u'[a+1,a+1,1,-5*a-4,-8*a-3]', u'899b', u'a2', 'VE')
(u'[a+1,-a-1,1,-2268*a-2268,10875*a+8156]', u'900a', u'a7', 'IE')
(u'[a+1,-a-1,1,-1443*a-1443,-37245*a-27934]', u'900a', u'a8', 'IE')
(u'[0,-a,a+1,-7*a-3,12*a+10]', u'905a', u'a1', 'VE')
(u'[0,-a,a+1,213*a-463,1401*a-4842]', u'905a', u'a2', 'IE')
(u'[0,-a+1,a+1,0,-a]', u'905a', u'b1', 'VE')
(u'[a,-a+1,1,0,0]', u'909a', u'a1', 'VE')
(u'[a+1,-a,a,1,0]', u'916a', u'a1', 'VE')
(u'[a,0,a+1,-a-1,-a]', u'919a', u'a1', 'VE')
(u'[a+1,-a,0,7*a-23,-24*a+20]', u'961b', u'a1', 'VE')
(u'[1,0,0,-594*a-390,-8580*a-5345]', u'961b', u'a2', 'VE')
(u'[a+1,-a,0,1017*a-1853,21096*a-35088]', u'961b', u'a3', 'VE')
(u'[a,0,0,-66265*a-40952,-9832128*a-6076598]', u'961b', u'a4', 'VE')
(u'[a+1,-a,0,652*a-2048,27054*a-32629]', u'961b', u'a5', 'VE')
(u'[1,a,a+1,834227*a-1349799,438442396*a-709414712]', u'961b', u'a6', 'IE')
(u'[a+1,-a+1,a,3*a-7,6]', u'979b', u'a2', 'VE')
(u'[a+1,1,1,0,0]', u'991a', u'a1', 'VE')
(u'[a,-1,1,-1,0]', u'995a', u'a1', 'VE')
(u'[a,-1,1,5*a-16,16*a-18]', u'995a', u'a2', 'VE')
}}}
{{{id=8|
len(broken)
///
168
}}}
{{{id=9|
///
}}}