#include // Include the necessary header for input/output stream operations int main() { // Optional: Speed up C++ I/O operations. These lines can potentially speed up input/output, // especially for larger inputs, but might not be necessary for this problem with a single input value. // std::ios_base::sync_with_stdio(false); // Disable synchronization with C standard I/O library // std::cin.tie(NULL); // Untie cin from cout, potentially allowing input and output operations to not wait for each other // Declare a variable N of type long long. This is necessary because the input N // can be as large as 10^12, which exceeds the range of a standard 32-bit integer. // `long long` in C++ is typically a 64-bit integer type. long long N; // Read the value of N from standard input. std::cin >> N; // Calculate the maximum number of hidden flowers. // Through analysis and testing small cases, we found a pattern suggesting that the minimum number of visible flowers // (those visible from at least one balcony) is floor(N/2) + 1. // The maximum number of hidden flowers is then N - (minimum visible flowers). // Max hidden = N - (floor(N/2) + 1). // This expression simplifies based on parity of N: // If N is even, N = 2m: Max hidden = 2m - (m + 1) = m - 1 = N/2 - 1. // If N is odd, N = 2m + 1: Max hidden = (2m + 1) - (m + 1) = m = (N-1)/2. // Both cases can be unified by the single formula floor((N-1)/2). // // In C++, integer division `(N - 1) / 2` computes floor((N-1)/2) correctly // because N >= 2 implies (N-1) >= 1, which is non-negative. Integer division truncates towards zero, // which is equivalent to the floor function for positive results. long long max_hidden_flowers = (N - 1) / 2; // Print the calculated maximum number of hidden flowers to standard output. // `std::endl` inserts a newline character and flushes the output buffer, ensuring the output // is displayed immediately and meets the problem requirement of ending with a newline. std::cout << max_hidden_flowers << std::endl; // Return 0 from the main function to indicate that the program executed successfully. return 0; }