Practice
Resources
Contests
Online IDE
New
Free Mock
Events New Scaler
Practice
Improve your coding skills with our resources
Contests
Compete in popular contests with top coders
logo
Events
Attend free live masterclass hosted by top tech professionals
New
Scaler
Explore Offerings by SCALER

BST Sum

Problem Description

The cost of an array arr is the sum of all the values in the left subtree of the Binary Search Tree formed by inserting the elements of arr in the order they appear in it.

For example, Binary Search Tree for arr = [5, 2, 9, 1] will look like- 

  5
  / <br> 2 9
 /
1

So, the cost will be 2 + 1 = 3.

Find the sum of the cost of all the permutations of length A. Since answer can be large, return it modulo 10+ 7.

A permutation of length N is an array consisting of N distinct integers from 1 to N in arbitrary order.



Problem Constraints

1 <= N <= 105



Input Format
The first and only argument contains an integer A.


Output Format
Return a single integer denoting the answer.


Example Input

Input 1:

  2

Input 2:

  3



Example Output

Output 1:

  1

Output 2:

  8



Example Explanation

Explanation 1:

  There are 2 permutations-
  1. [1, 2]
  BST 1
       \
        2
  Cost = 0

  1. [2, 1] BST 2 / 1 Cost = 1

Explanation 2:

  There are 6 permutations-
  • [1, 2, 3] Cost = 0
  • [3, 2, 1] Cost = 3
  • [2, 3, 1] Cost = 1
  • [1, 3, 2] Cost = 0
  • [2, 1, 3] Cost = 1
  • [3, 1, 2] Cost = 3


  • NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.
    Start solving BST Sum on Interview Code Editor
    Hints
    • Hint 1
    • Solution Approach
    • Complete Solution

    Discussion


    Loading...
    Click here to start solving coding interview questions
    Free Mock Assessment
    Fill up the details for personalised experience.
    Phone Number *
    OTP will be sent to this number for verification
    +1 *
    +1
    Change Number
    Graduation Year *
    Graduation Year *
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    *Enter the expected year of graduation if you're student
    Current Employer
    Company Name
    College you graduated from
    College/University Name
    Job Title
    Job Title
    Engineering Leadership
    Software Development Engineer (Backend)
    Software Development Engineer (Frontend)
    Software Development Engineer (Full Stack)
    Data Scientist
    Android Engineer
    iOS Engineer
    Devops Engineer
    Support Engineer
    Research Engineer
    Engineering Intern
    QA Engineer
    Co-founder
    SDET
    Product Manager
    Product Designer
    Backend Architect
    Program Manager
    Release Engineer
    Security Leadership
    Database Administrator
    Data Analyst
    Data Engineer
    Non Coder
    Other
    Please verify your phone number
    Edit
    Resend OTP
    By clicking on Start Test, I agree to be contacted by Scaler in the future.
    Already have an account? Log in
    Free Mock Assessment
    Instructions from Interviewbit
    Start Test