Problem:


Score : 300 points

Problem Statement

How many integer sequences A_1,A_2,\ldots,A_N of length N satisfy all of the following conditions?

0 \leq A_i \leq 9

There exists some i such that A_i=0 holds.

There exists some i such that A_i=9 holds.

The answer can be very large, so output it modulo 10^9 + 7.

Constraints

1 \leq N \leq 10^6

N is an integer.

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer modulo 10^9 + 7.

Sample Input 1

2

Sample Output 1

2

Two sequences \{0,9\} and \{9,0\} satisfy all conditions.

Sample Input 2

1

Sample Output 2

0

Sample Input 3

869121

Sample Output 3

2511445



Sample input:
2


Sample output:
2

Submission status: Wrong Answer

Solution code:
mod = 10**9+7
width = 1000
table = [ 1, 128233642, 993191796, 246084337, 175673566, 883787401, 470931556, 119995528, 225567908, 757928892, 250015370, 913979655, 754758, 207715304, 680281231, 630322311, 642314838, 834078844, 599226039, 918470969, 777847830, 188150013, 936569805, 609321015, 803755964, 506567627, 733034722, 525152703, 125374323, 229063893, 64381203, 331225140, 239876153, 938119791, 238030663, 963888220, 269540267, 288849729, 868543185, 176093029, 129227219, 57384053, 510217116, 42904984, 1283621, 229119361, 122050053, 83923714, 99441611, 723598838, 664720426, 824990192, 899870337, 994461247, 78470227, 616312139, 585511607, 457301297, 774218347, 24761471, 220551652, 797724439, 42696969, 433164019, 825454299, 183907026, 881797659, 823559228, 703904407, 624713517, 805011386, 175293956, 157911929, 315160646, 59387184, 711105445, 710926865, 239798930, 734168782, 513146799, 71626953, 883937988, 613778426, 107738376, 960564286, 84887701, 771212964, 71595332, 319321717, 980960223, 368173468, 67320689, 862499851, 864972828, 48646097, 670160814, 725736339, 790163830, 663423088, 255691818, 388742192, 305094892, 522669454, 472392039, 946047214, 445919328, 748072600, 923340633, 932008794, 641127822, 633943807, 473400148, 55310953, 397250219, 468376442, 583215176, 797665328, 890028978, 528044431, 795787957, 546160751, 21487680, 168379396, 292434098, 414672346, 74193376, 460353865, 599810935, 250857617, 915366231, 248863345, 970381475, 792991318, 740333468, 505276601, 404393468, 273222696, 38135257, 776858195, 153730583, 642800490, 383597969, 352113689, 326414281, 751880110, 401720832, 321560177, 799699361, 847915310, 122391227, 227253170, 943226946, 628558171, 741676814, 471158688, 954631869, 493837145, 558658912, 420443735, 350090863, 217956259, 331145950, 853718873, 294871436, 441691230, 450998982, 237913344, 891941663, 1946260, 405112401, 448399780, 134526127, 246436561, 278169858, 460138465, 93785028, 536128669, 614812564, 895531956, 53159706, 343122361, 979426864, 535308676, 821698590, 111592160, 392955473, 447760971, 209213748, 847593978, 203062304, 203128902, 787544197, 498828478, 184919578, 105720019, 69934934, 13384364, 973282740, 449768173, 269308198, 904824556, 182396273, 584885733, 396642025, 609732757, 302161309, 183805719, 163566228, 479978003, 98799651, 976400196, 125377402, 799132752, 870397588, 644664934, 129577634, 690319271, 611331587, 653433224, 140236662, 409788350, 991717810, 62680229, 190864441, 36959486, 149551212, 850748843, 164689931, 861991239, 929807057, 969665321, 847381024, 849985007, 211790079, 300573111, 274608474, 852794964, 947517699, 845476998, 892993251, 942841378, 752521136, 160135971, 872092879, 947081586, 43872472, 699047819, 356785202, 852607095, 799881153, 78633765, 743118036, 270375915, 917589851, 68917553, 710229437, 55629368, 618076743, 280545717, 675792083, 46429647, 151769255, 451990910, 175101818, 843430958, 38053664, 646697534, 23357308, 206681493, 888773710, 419288563, 102196642, 166544838, 158026445, 853567157, 547481582, 271969574, 391772235, 700892631, 483230045, 622773713, 745587272, 464843479, 112408178, 48833532, 419683777, 357283581, 893210864, 753476511, 49462239, 43950471, 623405550, 245081995, 772845334, 469206379, 631437749, 684644905, 793794697, 569684184, 860006640, 158036420, 392172613, 162031808, 602247245, 203070433, 384809257, 29972101, 344657818, 105304879, 159934700, 539867530, 111755839, 775104266, 722056100, 480533881, 603649910, 730015093, 32522487, 687171713, 684911737, 629028067, 75924301, 327784991, 613277615, 911404085, 68597770, 92366073, 745625029, 473314335, 507714509, 98679775, 522660661, 475294170, 305900432, 650978491, 240960675, 954022341, 297423873, 233051932, 288347091, 181067811, 822741050, 72596087, 389928500, 925730861, 660630476, 418823335, 494735470, 956973216, 280787188, 577131628, 195596415, 780760749, 646964034, 492636384, 290950928, 665101198, 971833316, 402869341, 31542354, 448714637, 853057984, 859647481, 659285587, 703667161, 442458694, 57325142, 151885002, 151752857, 953328299, 274699378, 797580192, 900864549, 977052491, 903191059, 560104200, 52364315, 317587469, 733519519, 51326765, 172718980, 394213323, 499127130, 125665101, 599958067, 570048626, 358205301, 955898164, 396169962, 863114450, 524877565, 561615134, 336979830, 751853389, 98033418, 914857313, 669594871, 233002010, 798378948, 353985696, 132400827, 853908795, 633800050, 114199369, 8366891, 369520637, 840068688, 154949227, 766964103, 1213933, 283566441, 213654982, 766431359, 140028557, 389857786, 592586116, 294866824, 626984599, 88266364, 960355422, 299777072, 159529372, 433368021, 546910609, 640482852, 176367836, 62590712, 619758852, 519471843, 689296297, 688241748, 125464096, 549853046, 180640016, 669655376, 304486472, 552708211, 641131096, 250145685, 522823788, 422054382, 614827289, 213695506, 564996794, 816097193, 472957326, 627305145, 419352923, 233618208, 201907686, 789638131, 935757716, 321551236, 258348634, 248012645, 915754672, 94217171, 566557194, 883879696, 841856794, 386613162, 570112346, 183700660, 278268556, 308943479, 160666387, 737303060, 567134616, 327727771, 639296326, 219084929, 949740710, 467443562, 16455771, 875530545, 782951703, 711107295, 863411295, 578371653, 66207956, 375238282, 908681407, 515884084, 90795523, 455372810, 89837046, 165491515, 545433366, 660354454, 653260780, 270146387, 283056775, 39236829, 89221906, 548284763, 958657863, 647273634, 738216290, 960141650, 192631043, 647619052, 435099529, 111019175, 387052722, 349026437, 943168803, 597199864, 798930903, 280032050, 191489048, 871756271, 864201473, 573902924, 776735804, 795907052, 513212481, 703258263, 151087418, 176917020, 492333520, 645927523, 842232145, 918613011, 167094468, 506609335, 871613850, 791653278, 688384948, 512230762, 466482156, 483519685, 433675444, 266224879, 712040274, 316470404, 6297629, 247528343, 266547054, 831469341, 917532298, 459833872, 954893577, 614837703, 484625452, 614869637, 917743182, 905427381, 449126127, 796820262, 408509829, 273602905, 130924280, 1363238, 389499824, 954805317, 932440256, 34161376, 646994455, 672836257, 808301053, 929096963, 231765547, 390778694, 403445961, 653868071, 549355895, 901843642, 882716412, 125812900, 266137390, 250231633, 801863164, 862419855, 603909210, 141087179, 919738330, 901776094, 636804992, 717115643, 982881315, 278589981, 897622715, 592874475, 963773361, 139945137, 389252372, 890252510, 865544569, 462018791, 972099566, 849449796, 319640588, 967009768, 977653667, 710029654, 805234475, 831002177, 275336330, 422855006, 949746887, 541794170, 641881338, 296285475, 292901421, 107561334, 338689309, 112458779, 325082011, 3976415, 304229218, 601214344, 86328828, 751441489, 862204727, 554702266, 186018851, 166853623, 545193868, 432626342, 498556538, 860331963, 609479011, 974179405, 836442658, 315554906, 589911857, 242364047, 745675667, 630588185, 96935486, 898831734, 753652548, 83905053, 205072787, 486649120, 696978729, 371086126, 376354590, 740911902, 983182992, 959047580, 971565881, 279013191, 628219669, 483423122, 559666181, 748528679, 349865602, 276254737, 103092679, 990713044, 883898451, 334011645, 643112778, 85592384, 110938911, 78761716, 162118715, 110215007, 361560450, 218658983, 958290706, 760866197, 29604925, 704254054, 884528885, 571553124, 722545849, 511824535, 189127084, 293444525, 539142876, 642675615, 952158794, 312246024, 275756454, 200298706, 261130169, 62294542, 510890694, 385243308, 87361521, 503202218, 685328461, 550921230, 668093102, 699944378, 251795690, 907314994, 834548983, 352821537, 549529635, 281274542, 587974019, 795434349, 753132255, 415545290, 77523025, 281787237, 176567548, 722869575, 34478434, 714412522, 671034944, 329114990, 958416239, 745926726, 754875902, 211334210, 513547036, 381109223, 400825307, 949915497, 794380771, 663920989, 690042117, 830304630, 901554891, 751723357, 837761558, 378511108, 115298175, 325447247, 614534142, 840758997, 813807256, 591333543, 691718994, 672655144, 699954263, 85458370, 19198497, 754433496, 300341823, 886939169, 54570137, 616323646, 496090306, 34402024, 817983914, 915965688, 479650439, 388452570, 454605978, 750397062, 559638074, 303896928, 22416828, 441748912, 635659640, 815695490, 812160395, 166688469, 740163360, 14049893, 284479436, 190422595, 187192515, 376697732, 47634513, 160874373, 126508400, 775997892, 99363239, 493832830, 763882002, 701596576, 15590851, 257335774, 894463993, 185206871, 441874230, 746700252, 302941806, 868371723, 139345496, 869630341, 144717208, 187345841, 866229903, 724450461, 648235214, 776271119, 672074506, 602185675, 656002752, 240125575, 759576687, 463430427, 24769850, 862837188, 53160078, 513987022, 118514895, 188179897, 699945777, 115323244, 199918423, 833621264, 805714018, 463715736, 180028074, 475829876, 235402877, 772103983, 49684084, 443337661, 655366896, 289638503, 258332145, 360855087, 899672361, 530502576, 801491866, 641986630, 940068353, 797422831, 378645901, 853709985, 87792814, 398991956, 660101704, 243383485, 532777074, 459644547, 702843272, 209971686, 829986137, 470834910, 246066405, 806738292, 39284371, 389133055, 321621467, 698830270, 670701663, 45171714, 633003395, 90710349, 967169522, 541775025, 988685463, 21712927, 170049523, 503374186, 602599325, 962557054, 800216315, 767004598, 737518012, 609437737, 530398437, 82759720, 621977664, 548979006, 245507299, 832068105, 80911832, 416356617, 318565618, 40420676, 412673617, 923197226, 594087420, 42029599, 521233968, 806698019, 833042288, 321490146, 468133703, 773978131, 414775293, 774760659, 300992794, 274025195, 445949927, 819855707, 528038317, 620344533, 51066611, 742263715, 539906647, 9185408, 244838920, 887410937, 539585878, 233938533, 832701367, 208941375, 890452341, 320097016, 460377592, 383972524, 956067685, 534451216, 946322067, 950977861, 379271132, 363268251, 740246294, 446595916, 554740081, 585267057, 666743526, 941443156, 923656781, 122441988, 203736886, 815895710, 498136156, 239856470, 992717436, 743674726, 96127672, 932528338, 278615623, 146992535, 68306453, 131167060, 272573946, 851897254, 782985541, 759971846, 767877668, 505054565, 682447171, 154820240, 351374909, 29839511, 846987109, 213673769, 590919567, 264042121, 189663389, 717706128, 781660659, 590772569, 670325982, 9239468, 791592672, 51083743, 740568821, 281574447, 587141513, 553122503, 340747559, 726765483, 771154066, 145504712, 464498808, 328555850, 866235034, 289880945, 310574040, 31723627, 26631855, 19526377, 58086236, 918654424, 582386705, 784853394, 657402015, 976196645, 154059840, 149978308, 600014675, 7004660, 658540583, 953807513, 842210720, 300038049, 525785906, 487155590, 970029619, 25074612, 511691999, 455850881, 892170974, 730230612, 811413348, 426045335, 640134437, 120756795, 527174688, 712332795, 372350239, 770574347, 775312159, 726265742, 117585021, 808434455, 150599746, 257106196, 676730440, 520558862, 38297346, 220183171, 564917745, 346371991, 627835740, 900198419 ]
def fact(n):
    if n >= mod:
        return 0
    acc = table[n // (mod // width)]
    init = n // (mod // width) * (mod // width)
    for i in range(max(1, init), n+1):
        acc = acc * i % mod
    return acc
n = int(input())
mod2 = ((n-2) * 8) % mod
print((fact(n) * mod2) % mod)

Submission status: Wrong Answer

Solution code:
n=int(input())
modd=1000000007
if(n==1):
    ans=1
elif n==2:
    ans=2
else:
    ans=(pow(10,n,modd)-pow(9,n,modd)*2+pow(8,n,modd))%modd
print(ans)

Submission status: Wrong Answer

Solution code:
#-*-coding:utf-8-*-

import sys

def main():
    n = int(input())
    mod = 10**9+7
    if n <= 1:
        print(0)
        exit()
    print((10**(n-2)*(2**n-2))%mod)

if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
N = int(input())

print(((N*(N-1))*(10**(N-1))-(6**(N-2)))%1000000007)

Submission status: Wrong Answer

Solution code:

def main():
    n = int(input())
    count = 0
    list = [[0,1,2,3,4,5,6,7,8,9]]*n
    print(list)
    a = [0]*n
    for i in range(10**n):
        for j in range(n):
            a[j] = ((i%10**(j+1))//10**j)

        notcount0 = 0
        notcount9 = 0
        for j in range(n):
            # print(str(a[j]),end='')
            if a[j] != 0:
                notcount0 += 1
            if a[j] != 9:
                notcount9 += 1
        if notcount0 != n and notcount9 != n:
            count += 1
        print('')
    count = count%(10**9+7)
    print(count)

main()

Submission status: Wrong Answer

Solution code:
n = int(input())

def cmb(n, r, p):
    if (r < 0) or (n < r):
        return 0
    r = min(r, n - r)
    return fact[n] * factinv[r] * factinv[n-r] % p

p = 10 ** 9 + 7
N = 10 ** 6
fact = [1, 1]
factinv = [1, 1]
inv = [0, 1]
 
for i in range(2, N + 1):
    fact.append((fact[-1] * i) % p)
    inv.append((-inv[p % i] * (p // i)) % p)
    factinv.append((factinv[-1] * inv[-1]) % p)

if n == 1:
    print("0")
elif n == 2:
    print("2")
else:
    a = (cmb(n,2,p)*2*pow(8,n-2,mod=p))%p
    b = pow(2,n,mod=p)-2
    print((a+b)%p)

Submission status: Wrong Answer

Solution code:
""" C
"""
import sys
import math
from functools import reduce
from bisect import bisect_left

def readString():
    return sys.stdin.readline()

def readInteger():
    return int(readString())

def readStringSet(n):
    return sys.stdin.readline().split(" ")[:n]

def readIntegerSet(n):
    return list(map(int, readStringSet(n)))

def readIntegerMatrix(n, m):
    return reduce(lambda acc, _: acc + [readIntegerSet(m)], range(0, n), [])

M = 1000000007

def _pow(n, m):
    ret = 1
    for _ in range(m):
        ret = (ret * n) % M
    return ret

def main(N):
    return (_pow(10, N) - 2 * _pow(9, N) + _pow(8, N))

if __name__ == "__main__":
    _N = readInteger()

    print(main(_N))

Submission status: Wrong Answer

Solution code:
N = int(input())

if N == 1:
    print(0)
    exit()
if N == 2:
    print(2)
    exit()
if N == 3:
    print(54)
    exit()

# f(n) = nC2 * 2 * 10 ^ (N - 2)
# f(n + 1) = f(n) * 10 * n / (n - 2)
MOD = 10**9 + 7
# print(MOD)

# ans = (N * (N - 1)) % MOD
# ans = ((N * (N - 1)) * 10**(N - 2)) % MOD
v = N * (N - 1) * (N - 1) * (N - 2) // 2 + N * (N - 1) // 2 * (N - 2) * (
    N - 3) // 2
v *= 2
ans = ((N * (N - 1)) * 10**(N - 2)) - v
# for _ in range(N - 2):
# ans *= 10
# ans %= MOD
print(ans % MOD)

Submission status: Wrong Answer

Solution code:
n = int(input())
t = 10**9 + 7

a = (10**n)%t
b = (8**n)%t

c = (9**n)%t
d = 2*(c - b)
    
print(a-b-d)

Submission status: Wrong Answer

Solution code:
import math
import collections
import itertools

def combinations_count(n, r):
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))

def cmb(n, r, mod):
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod

mod = 10**9+7 #出力の制限
g1 = [1, 1] # 元テーブル
g2 = [1, 1] #逆元テーブル
inverse = [0, 1] #逆元テーブル計算用テーブル

def resolve():
    MOD=10**9+7
    N=int(input())
    if(N==1):
        print(0)
        return
    if(N==2):
        print(2)
        return
    for i in range( 2, N + 1 ):
        g1.append( ( g1[-1] * i ) % mod )
        inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod )
        g2.append( (g2[-1] * inverse[-1]) % mod )
        
    cmbnum=cmb(N,2,MOD)
    ans=cmbnum*2%MOD
    for i in range(N-2):
        ans=(ans*8)%MOD
    
    ans2=cmbnum%MOD     
    for i in range(N-2):
        ans2=(ans2*2)%MOD


    ans=(ans+ans2)%MOD
    print(ans)

resolve()

Submission status: Wrong Answer

Solution code:
N=869121

if N<2:
	print(0)

else:
	without=10**(N-2)
	each=N*(N-1)
	final=without*each-each

	considered=final%(10**9+7)

	print(considered)

Submission status: Wrong Answer

Solution code:
def func(n:int):
  # return (pow(10, n) - 2 * pow(9, n)) % 1000000007
  return fn2(n)
  #  % 1000000007

def fn(n:int)-> int:
  print(n)
  if n == 0:
    return 0
  if n == 1:
    return 0
  return (fn(n-1) * 10 + fnNo9Or0(n-1) * 2) % 1000000007

def fn2(n:int):
  result = 0
  if n == 1:
    return result
  for i in range(2, n+1):
    result = result * 10 + fnNo9Or0(i-1) * 2
  return result % 1000000007

or90 = [-1 for _ in range(1000000)]

def fnNo9Or0(n):
  if n == 0:
    return 0
  if n == 1:
    or90[n] = 1
    return or90[n]
  or90[n] = or90[n-1] * 9
  return or90[n]


if __name__ == "__main__":
  n = int(input())
  print(func(n))

Submission status: Wrong Answer

Solution code:
N = int(input())
a = (10**N*+8**N-2*(9**N))%((10**9)+7)
print(a)

Submission status: Wrong Answer

Solution code:
N = int(input())
MOD = 1000000000 + 7
def power_func(a,n,p):
    bi = str(format(n,"b"))#2進表現に
    res = 1
    for i in range(len(bi)):
        res = (res*res) %p
        if bi[i] == "1":
            res = (res*a) %p
    return res
print(str(power_func(10, N, MOD) - 2 * power_func(9, N, MOD) + power_func(8, N, MOD)))

Submission status: Wrong Answer

Solution code:
n = int(input())
c = 10 ** 9 + 7

g_1 = 1
g_2 = 19
f_1 = 0
f_2 = 2

ans = 0
if n == 1:
  print(0)
elif n == 2:
  print(2)
else:
  prev_f = f_2
  prev_g = g_2
  for i in range(3, n + 1):
    g = 10 ** (i-2) + 9 * prev_g
    f1 = (2 * g) % c
    f2 = (8 * prev_f) % c
    f = (f1 + f2) % c
    ans += (f % c)
    prev_f = f
    prev_g = g
  print(ans)

Submission status: Wrong Answer

Solution code:
mod=1000000007
n=int(input())

def pow_by_iter(a, x, p):
    acc = a
    for i in range(1, x):
        acc = (acc * a) % p
    return acc

if n>2:
  print(((n%mod)*((n-1)%mod)*(10**(n-2)))%mod)
else:
  print(n*(n-1))

Submission status: Wrong Answer

Solution code:
N = int(input().rstrip())
answer = 0

for i in range(2, N + 1):
    a = N - i
    answer += i * (i - 1) * ((10 ** a) % 1000000007)* (8 ** (i - 2) % 1000000007)
#式が間違っている
print(answer % 1000000007)

Submission status: Wrong Answer

Solution code:
n = int(input())
cur = 8
bot = n
t = 0
for i in range(1, n):
    t += cur*(bot//i)
    cur *= 8
    bot *= n-i

print((10**n - 2*t - 8**n)%(10**9+7))

Submission status: Wrong Answer

Solution code:
import math
def combinations_count(n, r):
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))
N = int(input())

all = 0
for i in range(2, N//2+1):
    basyo = combinations_count(N, i)  # iとN-iの時、値が同じ

    zero_iti  = 2 ** (3 * N - 2 * i - 1)  # i=iの時
    zero_iti2 = 2 ** (N + 2 * i - 1)      # i=N-iの時

    all += basyo * (zero_iti + zero_iti2)

if N % 2 == 0:  # i = Nが無いので足す
    basyo = combinations_count(N, N)
    zero_iti = 2 ** (N - 1)
    all += basyo * zero_iti

if N % 2 == 1:  # i = N-1も無いので足す
    basyo = combinations_count(N, N)
    zero_iti = 2 ** (N - 1)
    all += basyo * zero_iti

    basyo = combinations_count(N, N - 1)
    zero_iti = 2 ** (N - 2)
    all += basyo * zero_iti

print(int(all % (10**9+7)))

Submission status: Wrong Answer

Solution code:
n = int(input())
MOD = (10**9) + 7

num = ((2**(n-1)) - 2)
ans = ((2**(n)) - 2)
res = 10*num*n
print((res - ans) % MOD)

Submission status: Wrong Answer

Solution code:
N=int(input())
mod=10**9+7

ans1=1
ans2=1
ans3=1
ans4=1
ans=0
for x in range(1,N):
    for y in range(1,N):
        ans1*=(N-(x-1))
        ans1%=mod
        ans2*=x
        ans2%=mod
        ans3*=(N-x-(y-1))
        ans3%=mod
        ans4*=y
        ans4%=mod
        ans5=8**(N-(x+y))
        ans5%=mod
        ans+=ans1*ans3*ans5/(ans2*ans4)
        ans%=mod
print(ans)

Submission status: Wrong Answer

Solution code:
N = int(input())

if N == 1:
    print(0)
    exit()
if N == 2:
    print(2)
    exit()
if N == 3:
    print(54)
    exit()

# f(n) = nC2 * 2 * 10 ^ (N - 2)
# f(n + 1) = f(n) * 10 * n / (n - 2)
MOD = 10**9 + 7
# print(MOD)

# ans = (N * (N - 1)) % MOD
# ans = ((N * (N - 1)) * 10**(N - 2)) % MOD
v = N * (N - 1) + N * (N - 1) // 2 * (N - 2) * (N - 3) // 2
v *= 2
ans = ((N * (N - 1)) * 10**(N - 2)) - v
# for _ in range(N - 2):
# ans *= 10
# ans %= MOD
print(ans % MOD)

Submission status: Wrong Answer

Solution code:

n = int(input())
mod = 10 ** 9 + 7
ans = 10 ** n
print(max(0, ans - 10 * (8 ** (n - 1)) % mod - (9 ** (n - 1) * 2) % mod ) % mod)

Submission status: Wrong Answer

Solution code:
N = int(input())

def haha(n):
    a = 0
    for i in range(n-1):
        a += (9**(n-2-i))*(10**(i))
    return a*8+10**(n-1)

ans = 0
for i in range(1,N):
    ans += haha(i)
print((ans*2)%(10**9+7))

Submission status: Wrong Answer

Solution code:
n=int(input())

m=1
s=1000000007

for i in range(1,n+1):
    if m<s:
        m=m*i
    else:
        m=(m%s)*i
        
k=1

for i in range(1,n-1):
    if k<s:
        k=k*8
    else:
        k=(k%s)*8
        
p=(m*k)%s
print(p)

Submission status: Wrong Answer

Solution code:
n = int(input())

c = 1
ans =1

for i in range(n) :
    ans = ans * (pow(8,i+1)%1000000007) % 1000000007
print(ans)

Submission status: Wrong Answer

Solution code:
def pow_r(x, n):
    """
    O(log n)
    """
    if n == 0:  # exit case
        return 1
    if n % 2 == 0:  # standard case ① n is even
        return pow_r(x ** 2, n // 2)
    else:  # standard case ② n is odd
        return x * pow_r(x ** 2, (n - 1) // 2)
total = 0
num = int(input())
for i in range(1, num):
    total += pow_r(2, i)

print(total)

Submission status: Wrong Answer

Solution code:
import math
N = int(input())
kei = 0
if N == 2:
    print(2)
else:
    for i in range(3,N):
        kei = math.factorial(N) // math.factorial(N - i)
        kei = kei*(8**(N-i))%(10**9+7)
    k = ((8**(N-2)*N*(N-1))+kei+2**N-2)%(10**9+7)
    print(int(k))

Submission status: Wrong Answer

Solution code:
N = int(input())

n10 = 1
n8 = 1
n9 = 1
beki = N
while beki>4:
    n10 = (n10*(10**5))%(10**9+7)
    beki -= 5  
n10 = (n10*(10**beki))%(10**9+7)
beki = N
while beki>4:
    n8 = (n8*(8**5))%(10**9+7)
    beki -= 5  
n8 = (n8*(8**beki))%(10**9+7)
beki = N
while beki>4:
    n9 = (n9*(9**5))%(10**9+7)
    beki -= 5  
n9 = (n9*(9**beki))%(10**9+7)

print(n10-2*n9+n8)

Submission status: Wrong Answer

Solution code:
mod=1000000007
n=int(input())

def pow_by_iter(a, x, p):
    acc = a
    for i in range(1, x):
        acc = (acc * a) % p
    return acc

if n>2:
  print(((n%mod)*((n-1)%mod)*((pow_by_iter(10,n-2,mod))%mod))%mod)
else:
  print(n*(n-1))

Submission status: Wrong Answer

Solution code:
N =int(input())
if ( N==1):
    print(0)
if(N>=2):
    print((10**N-8**N-(8**(N-1))*N*2-2)%(10**9+7))

Submission status: Wrong Answer

Solution code:



p = 10 ** 9 + 7
N = int(input())
fact = [1, 1]  
factinv = [1, 1] 
inv = [0, 1] 

for i in range(2, N + 1):
    fact.append((fact[-1] * i) % p)
    inv.append((-inv[p % i] * (p // i)) % p)
    factinv.append((factinv[-1] * inv[-1]) % p)


def cmb(n, r, p):
    if (r < 0) or (n < r):
        return 0
    r = min(r, n - r)
    return fact[n] * factinv[r] * factinv[n-r] % p

n = N
r = 1
print(cmb(n, r, p))

Submission status: Wrong Answer

Solution code:
n = int(input())
if n == 1:
  ans = 0
else:
  ans = ((10 ** (n - 1) + (10 ** (n - 2) * 9)) * 2 - (10 ** n - 8 ** 2)) % (10 ** 9 + 7)
print(ans)

Submission status: Wrong Answer

Solution code:
import math
def con(n):
    return math.factorial(n) // (math.factorial(n-2)*2)

n = int(input())
if n ==1:
    print("0")
elif n == 2:
    print('2')
elif n>2:
    a=con(n)
    x=2*pow(8,(n-2))*a
    y=pow(2, (n-2))*a
    z=x+y
    b=pow(10,9)+7
    ans = z%b
    print(ans)

Submission status: Wrong Answer

Solution code:
import numpy as np

N = int(input())
MOD = 1000000007
if N==1 or N==0:
    ans=0

elif N==2:
    ans =2

else:
    ans = (  ( N*(N-1) ) %MOD  ) * (  (  10**(N-2) - (N-2)*(N-3)   )%MOD)
    ans = ans % MOD

print(ans)

Submission status: Wrong Answer

Solution code:
N = int(input())
ans = 0

ans = ((N ** 2) - N) * (10 ** (N-2))
    
print(ans % 1000000007)

Submission status: Wrong Answer

Solution code:
import math
n = int(input())

if n > 2:
  r = 2
  n_C_r = math.factorial(n) / (math.factorial(n-r))
  total = int(n_C_r) * 10
  ans = total - n_C_r
  print(int(ans))
else:
  if n == 2:
    print(2)
  else:
    print(0)

Submission status: Wrong Answer

Solution code:
import math
N = int(input())
ans = 0
if N == 1:
    ans = 0
elif N==2:
    ans = 2
elif N>=3:    
    ans = 10**N-2*9**N+2**math.factorial(N)
print(ans%(10**9+7))

Submission status: Wrong Answer

Solution code:
import sys
N = int(input())

if N == 1:
    print(0)
    sys.exit(0)

if N == 2:
    print(1)
    sys.exit(0)

# out = (N * (N - 1) * (10 ** (N - 2))) % ((10 ** 9) + 7)
out = ((10 ** N) - ((9 ** N) * 2 - (8 ** N))) % ((10 ** 9) + 7)
print(out)

Submission status: Wrong Answer

Solution code:
N = int(input())
a = (10**N*+8**N-2*(9**N))%(10**9+7)
print(a)

Submission status: Wrong Answer

Solution code:
N=int(input())
if N==1:
    print(0)
    exit()
elif N==2:
    print(2)
    exit()

ans=(10^(N-2)+(10^(N-1)-9^(N-1))+(10^N-9^N))*2
print(ans%(10^9+7))

Submission status: Wrong Answer

Solution code:
n = int(input())
#少なくとも1つ0
zero_least = 1
#0と9以外のやつ
not_09 = 1
#全部
all_num = 1
for _ in range(n):
    zero_least = zero_least * 9
    not_09 = not_09 * 8 
    all_num = all_num * 10
#少なくとも１つ9
nine_least = zero_least

result = zero_least + not_09 + nine_least - all_num

waru  =1
for i in range(9):
    waru = waru * 10
waru += 9

print(result%waru)

Submission status: Wrong Answer

Solution code:
a=list(input())
print((a.count('9')+a.count('0'))%10**9+7)

Submission status: Wrong Answer

Solution code:
n = int(input())
if n ==1:
  print(0)
elif n == 2:
  print(2)
else:
  print(1+(n-1)**2*((10-n+2)*(10**(n-3)))%(10**9+7))

Submission status: Wrong Answer

Solution code:
n=int(input())
if n==1:
  print(0)
else:
  print((10**n-(8*10**(n-1))-2*(9**(n-1)))%(10**9+7))

Submission status: Wrong Answer

Solution code:
N = int(input())

result = N * (N - 1)
result = result * (10 ** (N - 2))
result = result % (10 ** 9 + 7)

print(result)

Submission status: Wrong Answer

Solution code:
import math


def permutations_count(n, r):
    return math.factorial(n) // math.factorial(n - r)


N = int(input())

if N < 2:
    print(0)
    exit()
elif N == 2:
    print(2)
    exit()

p = permutations_count(N, 2)
ans = (p * (10 ** (N-2)) - p) % (10**9 + 7)

print(ans)

Submission status: Wrong Answer

Solution code:
import math
n = int(input())

if n == 1:
    print(0)
else:
    ans=10**(n-2)*(math.factorial(n))%(10**9+7)
    print(ans)

Submission status: Wrong Answer

Solution code:
n = int(input())
m = 1000000007
print(((n*(n+1)//2)-1)%m)

Submission status: Wrong Answer

Solution code:
N = int(input())
ans = (N*(N-1))*(2**(N-2))
ans = ans % (10**9+7)
print(int(ans))

Submission status: Wrong Answer

Solution code:
n = int(input())
m = 10 ** 9 + 7
print(pow(10, n, m) + pow(8, n, m) - 2 * pow(9, n, m))

Submission status: Wrong Answer

Solution code:
def pow_k(x, n):
    if n == 0:
        return 1
    K = 1
    while n > 1:
        if n % 2 != 0:
            K = K * x
            x = x ** 2
            n = (n - 1) // 2
        else:
            x = x ** 2
            n = n // 2

    return K * x 

n = int(input())
ans = n*(n-1)
ans *= pow_k(10,n-2)
if n>2:ans -= n*(n-1)//2
print(ans%1000000007)

Submission status: Wrong Answer

Solution code:
N = int(input())
answer = [0]*(N+1)
a=1
b=1
c=0
for i in range(1,N):
    a = a*9
    b = b*8
    c = c*8 +2*(a-b)
l=c%(10**9+7)
print(l)

Submission status: Wrong Answer

Solution code:
n=int(input())
if n==1:
  print(0)
else:
  print((10**n-(8*9**(n-1))-2*(9**(n-1)))%(10**9+7))
#print(8*10**(n-1))
#print(2*(9**(n-1)))

Submission status: Wrong Answer

Solution code:
from sys import stdin

def main():

    input = stdin.readline

    N = int(input())

    mod = (10 ** 9) +7

    ans = 0

    ans = pow(10,N,mod) - pow(8,N,mod) - (pow(9,N,mod) - pow(8,N,mod))*2

    print(ans)


if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
N = int(input())
a = 2*(10^N-9^N)-(10^N-8^N)

ans = a % (10^9+7)
print(ans)

Submission status: Wrong Answer

Solution code:
N = int(input())
a = (10**N-8**N)%(10**9+7)
print(a)

Submission status: Wrong Answer

Solution code:
import math

n = int(input())

if n == 1 :
    print(0)
else :
    ans = (math.factorial(n)*pow(10, n-2))%(pow(10, 9)+7)
    print(ans)

Submission status: Wrong Answer

Solution code:
def power_func(a,n,p):
    bi = str(format(n,"b"))#2進表現に
    res = 1
    for i in range(len(bi)):
        res = (res*res) %p
        if bi[i] == "1":
            res = (res*a) %p
    return res

N = int(input())
MAX = 10 ** 9 + 7
print(power_func(2, N, MAX) - 2)

Submission status: Wrong Answer

Solution code:
N = int(input())
W = 0
V = 2

for i in range(1, N):
  W, V = 10 * W + V, 7 * V + 2 * 10 ** i
print(W)

Submission status: Wrong Answer

Solution code:
def cmb(n, r):
    if n - r < r: r = n - r
    if r == 0: return 1
    if r == 1: return n

    numerator = [n - r + k + 1 for k in range(r)]
    denominator = [k + 1 for k in range(r)]

    for p in range(2,r+1):
        pivot = denominator[p - 1]
        if pivot > 1:
            offset = (n - r) % p
            for k in range(p-1,r,p):
                numerator[k - offset] /= pivot
                denominator[k] /= pivot

    result = 1
    for k in range(r):
        if numerator[k] > 1:
            result *= int(numerator[k])

    return result

mod = 1000000007

def mul(a, b):
    return ((a % mod) * (b % mod)) % mod

n = int(input())
if n == 1:
    print(0)
else:
    tmp = mul(cmb(n,2),2)
    print(mul(tmp, 10**(n-2)))

Submission status: Wrong Answer

Solution code:
N = input()
x = int(N)
y = x*(x-1)*(10**(x-2))
z = y % (10**9 + 7)
print(z)

Submission status: Wrong Answer

Solution code:
import math


def combinations_count(n, r):
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))


N = int(input())
ans = 0
if N == 1:
    ans = 0
elif N == 2:
    ans = 2
else:
    for i in range(N):
        ans *= 10 % 1000000007
    ans *= combinations_count(N, 2)
    ans = ans % 1000000007

print(ans)

Submission status: Wrong Answer

Solution code:

import math

mod=10**9+7

N=int(input())

if(N==1):
    print(0)
else:

    if(N-2>10):
        a=10**(N-2)%mod
        b=math.factorial(N) //  math.factorial(N-2)
        c1=b*a%mod
        print(c1)
    else:
        a=10**(N-2)
        b=math.factorial(N) //  math.factorial(N-2)
        c=b*a
        print(c)

Submission status: Wrong Answer

Solution code:
import itertools
n=int(input())
if n>=3:
  #0の数が増え,9の数が減る
  ans=0
  for i0 in range(1,n-1//2):
    i9=n-i0
    ans+=len(set(itertools.permutations([0]*i0+[9]*i9)))*2
  if n%2==0:
    ans+=1
  print((n*8*(n-2)*2+ans) % ((10**9)+7))
elif n==2:
  print(2)
else:
  print(0)

Submission status: Wrong Answer

Solution code:
N = int(input())
W = 0
V = 2

for i in range(1, N):
  W, V = 10 * W + V, 7 * V + 2 * 10 ** i
print(W, V)

Submission status: Wrong Answer

Solution code:
N = input()
x = int(N)
y = x*(x-1)*(10**(x-2))
z = y % (10**9 + 7)
print(y)