Problem Statement
Petya likes triangles. He draws a trianglar grid using the following process: He starts off with an equilateral triangle. He then draws points on the edges of this triangle, dividing each edge up into N equal-length segments. Next, he connects each pair of points that is at equal distance from some vertex of the triangle with a straight line, ending up with N*N smaller equilateral triangles. An example of this figure with N = 4 is shown below.

However, he likes hexagons more than he likes triangles. How many non-degenerate convex hexagons can be formed using the line segments in his figure? This number can be very big, so return it modulo 1000000007.
Definition
- Class:
- ConvexHexagons
- Method:
- find
- Parameters:
- int
- Returns:
- int
- Method signature:
- int find(int N)
- (be sure your method is public)
Notes
- The length of each edge of every hexagon must be greater than zero.
Constraints
- N will be between 1 and 500000, inclusive.
Examples
3
Returns: 1
4
Returns: 7
There are 7 hexagons:
7
Returns: 232
104
Returns: 635471838
1
Returns: 0
8195
Returns: 325178177
330410
Returns: 496809237
213435
Returns: 605395784
15285
Returns: 872768413
218045
Returns: 743588278
123836
Returns: 442196153
359944
Returns: 68531503
437198
Returns: 339664453
236868
Returns: 260490781
76240
Returns: 716704771
473467
Returns: 978034156
62630
Returns: 44405838
154575
Returns: 527858231
124851
Returns: 862434821
53508
Returns: 832417351
330874
Returns: 502627572
251504
Returns: 484041379
465660
Returns: 553266009
426579
Returns: 10969552
482269
Returns: 468357025
143279
Returns: 139873004
121503
Returns: 777490502
305366
Returns: 353266118
447811
Returns: 506737712
197659
Returns: 399430120
370008
Returns: 295062172
147229
Returns: 713103117
235359
Returns: 127271322
434281
Returns: 12278458
86096
Returns: 781926750
85438
Returns: 999007290
179601
Returns: 938704957
243259
Returns: 341421304
178717
Returns: 289912124
331612
Returns: 417652818
47982
Returns: 830041917
383570
Returns: 521314593
426512
Returns: 921004716
72781
Returns: 326324376
119773
Returns: 420949847
347155
Returns: 16796486
142091
Returns: 693039392
11520
Returns: 789934845
480477
Returns: 516220520
299684
Returns: 975434164
219609
Returns: 882663408
322580
Returns: 87919936
398750
Returns: 726101243
433924
Returns: 604025528
245329
Returns: 605813081
424468
Returns: 907885293
278029
Returns: 298019804
196633
Returns: 62615803
475868
Returns: 334064720
89395
Returns: 325924288
300062
Returns: 760546460
474930
Returns: 714636669
113796
Returns: 644409157
40055
Returns: 947678366
2505
Returns: 102420448
453080
Returns: 593564096
435294
Returns: 556833988
306645
Returns: 743081221
157807
Returns: 687092680
475621
Returns: 806673546
449547
Returns: 87937229
242584
Returns: 953951996
445536
Returns: 847684662
377776
Returns: 164584313
394563
Returns: 17796571
222357
Returns: 948244693
35361
Returns: 950393135
369092
Returns: 454843506
499103
Returns: 296860968
169929
Returns: 277950136
322858
Returns: 255128265
181234
Returns: 94576493
65419
Returns: 699487055
191157
Returns: 446921484
185341
Returns: 870222929
315883
Returns: 222936575
52472
Returns: 888110326
208652
Returns: 43426202
249896
Returns: 269310488
353661
Returns: 12711761
464327
Returns: 753457245
122510
Returns: 914179390
290813
Returns: 824781569
410036
Returns: 13926307
473421
Returns: 847308100
145368
Returns: 974445200
498598
Returns: 57475856
449135
Returns: 939928332
333366
Returns: 995280147
85211
Returns: 848343293
487754
Returns: 184037772
291402
Returns: 989589691
261004
Returns: 549500393
474367
Returns: 512755055
35523
Returns: 271597365
500000
Returns: 259652042
1
Returns: 0
2
Returns: 0
3
Returns: 1
4
Returns: 7
5
Returns: 29
6
Returns: 90
499971
Returns: 229659847
499999
Returns: 595702048