n = int(input())
n = n + 1
if n == 1:
print(0)
else:
if n % 2 == 0:
print(n // 2)
else:
print(n)
/*
... | | | |
-`''- _ ..########o... | | | |
_.' `: \ ,##8#########8##o,, ( ( `| | | |
/ : ___,-+-' .#######8##8###8###8##, )ailor )aturn | | | |
`-+-' ; ,#8###########8#8########,, `| `| | `|
`-...-' :#88####8##8###########8###., | | |' |
.HXX8X88X#8XX########XX8X8XX#;, `| | | |
,#O#X8888#88###########X####8X8, _ `| `\/' ,/
:8##88##X######8#8######X######8#: _| |__ `| ,/
.######8##8####8)#)#(i#88####8####.: |_ __| `| /
.,#88##8#88###H8I~-_ _-~8+8##8####8#,: | |___ __.----._
:=#X##8#######,# ~-._()_.-~ ##########.,: | __ \ L__ __|
.:I8##88####88#:;_--__ __--_,:#88#####),: | | \ | |--|
.:=8#XX#####88#LH =#O#\ /O##\i)##8######+: | | | \__ |' `|
.':###X888###8#8#O) \##@/ \##=/#H8###8####.,: |_| `\___| `|--|'
.':#####8####888L;;I, | #8###8##8###,., | |
:.88Li######8#888#,H. .__, :8##88#####8##o: |' `|
:88X:##88##8##8#8##O8, _8###########8#.8. .| |
8X#+#888#8##8#8#H.###8#,_ _-'8##=#####88#XX,o: | \__/ _
X#..8#8##8##8888..8##8#8#-.__.-X#88##=8#####8#8#.,; `.|__|-' |
' HH8###;##8##,+888#L#|__ __|##88##;8###8##X' ||(__- |'
_____ |__()__| _____ .|.:@#/_
\ `---.________.-----' `-----._____.---' / ||._--' |
\ oOOOOOOOOOOo__ ___oOOOOOOOOo _/ | |(_----|
\_.--_ oOOOOOOOOo - -- oOOOOOOo __.-' | |(_--__)
_-:_-' oOOOOOOOo oOOOOOOo `-_ | |.:(__ )
<::<_ _ oOOOOOOo oOOOOo | -_ `||.:@#_/
~-_:-__.-':' xXXXxoOOOo ,|, oOOOoxXXXx _______\ |||.:@#|
-_| | xXXXXXXXXx\|/.xXXXXXXXx \ \ / `|.:@#|
| |' _-. xXXXXXxx--=O=--xxXXXXx|___| \ / .|.:@#|
| |__-':/ xXXxxXXx'/|\`.XXxxxXX:. ' \ ./ .:|.:@#|
| :::|| xxxXXXXx.'|`.xXXXXXxxx::. \ / .::|.:@#|
| :::||_ xxXXXXXXXx/'\_xXXXXXXXXx::. \ / .::/|.:@#|
| :::|' \`--xXXXXXXXx xXXXXXx \::. \ / .::/ |.:@#|
| :::| \ xXXXXXX xXXXx \::. /\/ .::/ |.:@#|
| ::|xx \ xXx xx \::. /oO| .::/ |.:@#|
|' .::|XXXXxx| ` '| xxxxx \::/OoOO\.::/ |.:@#|
| ::|XXXXXXX| |xXXXXXx \|oOOooOOOOo |.:@#|
,-__|__ .::|XXXXXX/__ |_XXXXXx OoooOoooooo |.:@#|
\ooooOOo::|XXXXXX/__ \, | \XXXx oOOOooOOOO |.:@#|
\OOOoooooo|XxoOOOo.\. \ / ./oOOoXXXXXx oOOOoooo |.:@#|
|OOOOOOOO|oOOOOOOOo.\ \, / /oOOOOOOoXXx oOOo. |.:@#|
|oooooooo|OOOOOOOOOOo.\ \ / /oOOOOOOOOOOOo [ -Tim Park ] |.:@#|
*/
#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
// #include <ext/rope>
#define int ll
#define mp make_pair
#define pb push_back
#define all(a) (a).begin(), (a).end()
#define sz(a) (int)a.size()
#define eq(a, b) (fabs(a - b) < EPS)
#define md(a, b) ((a) % b + b) % b
#define mod(a) md(a, MOD)
#define _max(a, b) ((a) > (b) ? (a) : (b))
#define srt(a) sort(all(a))
#define mem(a, h) memset(a, (h), sizeof(a))
#define f first
#define s second
#define forn(i, n) for(int i = 0; i < n; i++)
#define fore(i, b, e) for(int i = b; i < e; i++)
#define forg(i, b, e, m) for(int i = b; i < e; i+=m)
#define index int mid = (b + e) / 2, l = node * 2 + 1, r = l + 1;
#define DBG(x) cerr<<#x<<" = "<<(x)<<endl
#define RAYA cout<<"=============================="<<'\n'
// int in(){int r=0,c;for(c=getchar();c<=32;c=getchar());if(c=='-') return -in();for(;c>32;r=(r<<1)+(r<<3)+c-'0',c=getchar());return r;}
using namespace std;
// using namespace __gnu_pbds;
// using namespace __gnu_cxx;
// #pragma GCC target ("avx2")
// #pragma GCC optimization ("O3")
// #pragma GCC optimization ("unroll-loops")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef pair<int, int> ii;
typedef pair<pair<int, int>, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<ll> vll;
// typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
// find_by_order kth largest order_of_key <
// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
// rng
const int tam = 200010;
const int MOD = 1000000007;
const int MOD1 = 998244353;
const double DINF=1e100;
const double EPS = 1e-9;
const long double PI = acos(-1.0L);
signed main()
{
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freopen("asd.txt", "r", stdin);
// freopen("qwe.txt", "w", stdout);
int n;
cin>>n;
n++;
if(n==1){
cout<<0<<'\n';
return 0;
}
if(n%2==0){
cout<<n/2<<'\n';
return 0;
}
cout << n << '\n';
return 0;
}
2148. Count Elements With Strictly Smaller and Greater Elements | 2149. Rearrange Array Elements by Sign |
2150. Find All Lonely Numbers in the Array | 2151. Maximum Good People Based on Statements |
2144. Minimum Cost of Buying Candies With Discount | Non empty subsets |
1630A - And Matching | 1630B - Range and Partition |
1630C - Paint the Middle | 1630D - Flipping Range |
1328A - Divisibility Problem | 339A - Helpful Maths |
4A - Watermelon | 476A - Dreamoon and Stairs |
1409A - Yet Another Two Integers Problem | 977A - Wrong Subtraction |
263A - Beautiful Matrix | 180C - Letter |
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |