diff --git a/.gitignore b/.gitignore
index 83f79cb..931a5eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,5 +17,6 @@
*.class
*.pyc
*.html
+.idea/
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..79b3c94
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2017/JULY.md b/2017/JULY.md
index 9a4c22d..c9f4e1d 100644
--- a/2017/JULY.md
+++ b/2017/JULY.md
@@ -13,7 +13,7 @@
| [JULY17](https://www.codechef.com/JULY17) | [CHEFSIGN](https://www.codechef.com/JULY17/problems/CHEFSIGN) | ★★ | | [](JULY/JULY17/CHEFSIGN/CHEFSIGN.cpp) [](https://www.codechef.com/viewsolution/14502863) (100 pts) [](#) | | [](JULY/JULY17/CHEFSIGN/CHEFSIGN.py) [](https://www.codechef.com/viewsolution/14488195) (100 pts) [](#) |
| [JULY17](https://www.codechef.com/JULY17) | [CALC](https://www.codechef.com/JULY17/problems/CALC) | ★★★ | [](JULY/JULY17/CALC/CALC.c) [](https://www.codechef.com/viewsolution/14483078) (100 pts) [](#) | [](JULY/JULY17/CALC/CALC.cpp) [](https://www.codechef.com/viewsolution/14439041) (100 pts) [](#) | | [](JULY/JULY17/CALC/CALC.py) [](https://www.codechef.com/viewsolution/14490655) (100 pts) [](#) |
| [JULY17](https://www.codechef.com/JULY17) | [IPCTRAIN](https://www.codechef.com/JULY17/problems/IPCTRAIN) | ★★★ | | [](JULY/JULY17/IPCTRAIN/IPCTRAIN.cpp) [](https://www.codechef.com/viewsolution/14431781) (100 pts) [](#) | | |
-| [JULY17](https://www.codechef.com/JULY17) | [EXPTREE](https://www.codechef.com/JULY17/problems/EXPTREE) | ★★★★ | | | | [](JULY/JULY17/EXPTREE/EXPTREE.py) [](https://www.codechef.com/viewsolution/14541593) (100 pts) [](#) |
+| [JULY17](https://www.codechef.com/JULY17) | [EXPTREE](https://www.codechef.com/JULY17/problems/EXPTREE) | ★★★★ | | [](JULY/JULY17/EXPTREE/EXPTREE.cpp) [](https://www.codechef.com/viewsolution/14568032) (100 pts) [](#) | | [](JULY/JULY17/EXPTREE/EXPTREE.py) [](https://www.codechef.com/viewsolution/14541593) (100 pts) [](#) |
| [JULY17](https://www.codechef.com/JULY17) | [PSHTTR](https://www.codechef.com/JULY17/problems/PSHTTR) | ★★★★ | | | | |
| [JULY17](https://www.codechef.com/JULY17) | [TWOCOINS](https://www.codechef.com/JULY17/problems/TWOCOINS) | ★★★★ | | | | |
| [JULY17](https://www.codechef.com/JULY17) | [SRVRS](https://www.codechef.com/JULY17/problems/SRVRS) | ★★★★★ | | | | |
diff --git a/2017/JULY/JULY17/CHEFSIGN/CHEFSIGN.cpp b/2017/JULY/JULY17/CHEFSIGN/CHEFSIGN.cpp
index 7b572d3..f9a9a0d 100644
--- a/2017/JULY/JULY17/CHEFSIGN/CHEFSIGN.cpp
+++ b/2017/JULY/JULY17/CHEFSIGN/CHEFSIGN.cpp
@@ -5,7 +5,6 @@
using namespace std;
int main() {
-
std::ios::sync_with_stdio(false);
int testCases;
cin >> testCases;
diff --git a/2017/JULY/JULY17/EXPTREE/EXPTREE.cpp b/2017/JULY/JULY17/EXPTREE/EXPTREE.cpp
new file mode 100644
index 0000000..eaef220
--- /dev/null
+++ b/2017/JULY/JULY17/EXPTREE/EXPTREE.cpp
@@ -0,0 +1,58 @@
+// BY: _nishant0208_
+#include
+#include
+using namespace std;
+typedef long long ll;
+#define MAX1 1000000007
+#define MAX2 1000000009
+#define MAX 100001
+ll MOD;
+ll exponent(ll, ll);
+ll modinverse(ll);
+int main(){
+ ll t;
+ cin >> t;
+ while(t--){
+ ll n;
+ cin >> n;
+ n--;
+ ll x, y, temp1, temp2;
+ MOD = MAX1;
+ x = ((n % MOD) * ((n + 1) % MOD)) % MOD;
+ y = (2 * ((2 * n - 1) % MOD)) % MOD;
+ if(x % 2 == 0 && y % 2 == 0){
+ x /= 2;
+ y /= 2;
+ }
+ if(x % 3 == 0 && y % 3 == 0){
+ x /= 3;
+ y /= 3;
+ }
+ temp1 = ((x % MOD) * (modinverse(y))) % MOD;
+ MOD = MAX2;
+ x = ((n % MOD) * ((n + 1) % MOD)) % MOD;
+ y = (2 * ((2 * n - 1) % MOD)) % MOD;
+ if(x % 2 == 0 && y % 2 == 0){
+ x /= 2;
+ y /= 2;
+ }
+ if(x % 3 == 0 && y % 3 == 0){
+ x /= 3;
+ y /= 3;
+ }
+ temp2 = ((x % MOD) * (modinverse(y))) % MOD;
+ cout << temp1 << " " << temp2 << "\n";
+ }
+ return 0;
+}
+ll exponent(ll a, ll b) {
+ if(b == 0)
+ return 1;
+ ll temp = (exponent(a, b / 2)) % MOD;
+ temp = (temp * temp) % MOD;
+ return (b % 2 == 0) ? temp : ((a % MOD) * temp) % MOD;
+}
+ll modinverse(ll val) {
+ return exponent(val, MOD - 2);
+}
+